禁用原型扩展并指定URL类型



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

ENV = {
   EmberENV: {
      EXTEND_PROTOTYPES: false
   }
}

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

  • 数组 - 用于实现Ember.Enumerable、Ember.MutableEnumerable、Ember.MutableArrayEmber.Array接口

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

  • 函数 - 使用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指定应用程序的起始状态,这将在我们四处移动时保持同步。例如,上述路由路径/#/myroute/myroute1将导航到myroute.myroute1路由。

None

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

emberjs_configuring_emberjs.htm
广告