所以根据
Ember’s documentation Ember默认使用
hashchange事件.这就是为什么我们有一个花哨的#/ some / url设置.我们还可以将其设置为使用浏览器的
history API.
我注意到,Built with Ember上列出的大多数(如果不是全部)网站显然使用了历史API.这是有道理的,因为它使URL看起来更自然.
所有这一切就是说我(sorta)了解在哪里,如何以及为什么#被抓住了.
我的问题具体涉及EmberCLI.我注意到,当我创建一个简单的应用程序时,#不在URL中.是因为我没有部署吗?还是CLI默认为历史记录?如果是这样,这个设置在哪里?我找不到一个实例
App.Router.reopen({ location: 'history' });
解决方法
我点击的第一个使用哈希历史;)
https://fnd.io/
默认情况下,Ember使用哈希更改事件,主要是由于跨浏览器兼容性. http://caniuse.com/history
在ember-cli中,它默认使用auto. http://emberjs.com/api/classes/Ember.Location.html#toc_autolocation
如果你看到router.js,你会注意到
var Router = Ember.Router.extend({ location: YourAppENV.locationType });
它从config / environment.js中提取其设置
module.exports = function(environment) { var ENV = { baseURL: '/',locationType: 'auto',EmberENV: { ....
就像一个快速的插头一样,位置历史是一个很难设置的,因为你基本上不得不告诉您的服务器从基本页面发送的任何东西,然后忽略任何事情,但它只是一次性的设置.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。