我有一个基于ember.js路由器的应用程序,有一个有趣的怪癖。由于路由器文档相当稀疏,我不确定这是功能或错误还是其他地方某些代码的意外后果。
当我在浏览器中重新加载包含应用程序的页面时,应用程序会跳转到我最后的路径。我将路由序列化为哈希。所以一个例子就是我在app.html#/users/1/details
,我删除了哈希并添加了一个随机查询变量app.html?reload=randomnumber
并加载了页面。一旦加载了ember,它就会将#/users/1/details
添加回该地址。
这是ember的特征/结果,还是我写的一些垃圾。到目前为止,我还没有找到任何可能造成这种情况的内容。
如果它是一个余烬功能,有没有办法禁用它?
答案 0 :(得分:0)
你在说什么叫“ 重新载入 ”?
当使用哈希序列化路由时,Ember无法在浏览器中保留任何状态。它与Ember没什么关系:当重新加载页面时,整个状态都会丢失,并根据请求的url返回的内容初始化进行重置。
尽管如此,当存在哈希时,Ember会使用它来重置路由器的状态。
所以我怀疑你还在重新加载网址.../app.html#/users/1/details
。
您是否在开发者工具(或等效的)中查看了您的网络历史记录?
第一项应该是GET请求,它将指示有效请求的URL和散列(如果有)。