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

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

ENV = {
    EmberENV: {
        EXTEND_PROTOTYPES: false
    }
}

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

  • Array −它用于实现 Ember.Enumerable、Ember.MutableEnumerable、Ember.MutableArrayEmber.Array 接口

  • 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 映射,该映射以参数作为对象来创建路由。

哈希

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

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

emberjs_configuring_emberjs.html