0

我正在使用带有位置的 ember.js:“历史”。我的站点加载的第一条路由(即我在 URL 中键入的)呈现良好。我可以单击一个链接到锚点以到达第二条路线,但是当我单击后退按钮返回到第一条路线(最初加载的路线)时,它没有被路由。

我能做些什么来将最初的路线推向历史吗?我应该这样做吗?

我的路线映射如下所示:

App.Router.reopen({
  location: "history"
});

App.Router.map(function() {
  this.resource("foods", function(){
    this.route("index", {path: "/"});
  });
  this.route("fourOhFour", { path: "*:"});
});

注意:我是从http://mysite.example/还是http://mysite.example/foods开始似乎并不重要。在任何一种情况下,尝试回到最初加载的路线都没有效果。

我相信也许我应该将某些东西推向历史,但不知道该怎么做,也不知道为什么需要这样做。“fourOhFour”只是我未定义路由的处理程序,顺便说一句。我不认为这与这个问题有关。

欢迎任何建议。

4

1 回答 1

0

很好地抓住了这一点。我刚刚遇到了同样的问题并开始深入研究 Ember.HistoryLocation。我在 github 上发现了这个对 ember.js 的分支的提交,它为我解决了这个问题:

https://github.com/teddyzeenny/ember.js/commit/c2c483dc592bb926c210e2c4c174dba7314d18dd

...我实际上只是将来自这个提交的差异合并到我的本地 ember.js 副本中,现在正在运行历史路由,这对开发人员来说很好,这足以让我继续前进,直到这将重新楔入主项目.

于 2013-04-18T16:50:23.857 回答