重新加载Ember路由器恢复

时间:2012-10-10 14:12:43

标签: javascript ember.js ember-router

我有一个基于ember.js路由器的应用程序,有一个有趣的怪癖。由于路由器文档相当稀疏,我不确定这是功能错误还是其他地方某些代码的意外后果。

当我在浏览器中重新加载包含应用程序的页面时,应用程序会跳转到我最后的路径。我将路由序列化为哈希。所以一个例子就是我在app.html#/users/1/details,我删除了哈希并添加了一个随机查询变量app.html?reload=randomnumber并加载了页面。一旦加载了ember,它就会将#/users/1/details添加回该地址。

这是ember的特征/结果,还是我写的一些垃圾。到目前为止,我还没有找到任何可能造成这种情况的内容。

如果它是一个余烬功能,有没有办法禁用它?

1 个答案:

答案 0 :(得分:0)

你在说什么叫“ 重新载入 ”?

当使用哈希序列化路由时,Ember无法在浏览器中保留任何状态。它与Ember没什么关系:当重新加载页面时,整个状态都会丢失,并根据请求的url返回的内容初始化进行重置。

尽管如此,当存在哈希时,Ember会使用它来重置路由器的状态。

所以我怀疑你还在重新加载网址.../app.html#/users/1/details

您是否在开发者工具(或等效的)中查看了您的网络历史记录?

第一项应该是GET请求,它将指示有效请求的URL和散列(如果有)。