当前位置: 首页 > 文档资料 > EmberJS 入门教程 >

禁用原型扩展并指定URL类型(Disabling Prototype Extensions and Specifying URL Type)

优质
小牛编辑
131浏览
2023-12-01

可以通过将EXTEND_PROTOTYPES标志设置为false来禁用原型扩展。 打开config/environment.js文件并在ENV对象中设置标志 -

ENV = {
   EmberENV: {
      EXTEND_PROTOTYPES: false
   }
}

Ember.js可以通过以下方式扩展JavaScript对象的原型 -

  • Array - 用于实现Ember.Enumerable, Ember.MutableEnumerable, Ember.MutableArrayEmber.Array interfaces

  • String - 它添加了一些字符串辅助方法,例如camelize() (指定lowerCamelCase形式), w() (将字符串分成单独的单元)等。

  • Function - 用于通过使用property()方法将函数解释为计算属性。

上面的原型扩展可以在应用程序的配置文件中使用,如下所示 -

ENV = {
   EmberENV: {
      EXTEND_PROTOTYPES: {
         String: false,
         Array: true
      }
   }
}

指定URL类型

可以使用Ember路由器的四个选项指定应用程序的URL类型 -

  • history
  • hash
  • none
  • auto

历史 (History)

此选项使用HTML5浏览器的API来创建URL。 例如,在另一个路由器myroute下创建一个名为myroute1路由器,它将导航到myroute.myroute1路由。

Router.map(function() {
   this.route('myroute', function() {
      this.route('myroute1');
   });
});

上面的代码是在app/router.js文件下创建的,用于定义将参数作为创建路径的对象的URL映射。

Hash

此选项通过使用基于锚点的URL指定应用程序的起始状态,该URL将在我们移动时同步。 例如,上面的路径路径/#/myroute/myroute1将导航到myroute.myroute1 route

None

此选项不更新URL并将ENV.locationType标志设置为none以禁用不允许浏览器URL与您的应用程序交互的位置API。