禁用原型扩展并指定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.MutableArray和Ember.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。