Ember.js,EmberCLI – 从URL中删除哈希(#)

前端之家收集整理的这篇文章主要介绍了Ember.js,EmberCLI – 从URL中删除哈希(#)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以根据 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: {
    ....

就像一个快速的插头一样,位置历史是一个很难设置的,因为你基本上不得不告诉您的服务器从基本页面发送的任何东西,然后忽略任何事情,但它只是一次性的设置.

猜你在找的JavaScript相关文章