Ember.js 带有余烬数据的余烬js,浏览器的前后移动导致使用find()请求重新加载模型

Ember.js 带有余烬数据的余烬js,浏览器的前后移动导致使用find()请求重新加载模型,ember.js,ember-data,Ember.js,Ember Data,我只是建立一个小应用程序来测试路由器。每一个模型都会加载一次,每当我要求加载时,下一次单击链接访问同一个url时,我会看到缓存的结果。一切正常,但随后我单击了浏览器上的“上一步”按钮,我看到服务器请求一个型号,之前是通过find()a.k.a.findAll()请求的。每次我在浏览器上单击后退或前进按钮时都会发生这种情况,无论我使用的是location:'history'还是location:'hash' 我只有两个型号,一个是通过find()请求的,另一个是通过find(id)请求的。所以我现

我只是建立一个小应用程序来测试路由器。每一个模型都会加载一次,每当我要求加载时,下一次单击链接访问同一个url时,我会看到缓存的结果。一切正常,但随后我单击了浏览器上的“上一步”按钮,我看到服务器请求一个型号,之前是通过
find()
a.k.a.
findAll()
请求的。每次我在浏览器上单击后退或前进按钮时都会发生这种情况,无论我使用的是
location:'history'
还是
location:'hash'


我只有两个型号,一个是通过
find()
请求的,另一个是通过
find(id)
请求的。所以我现在想知道这是以这种方式发生的,还是我的应用程序存在一些我应该寻找的问题?

当然这不是它应该如何工作的。我们有一个应用程序,它使用位置:“历史记录”和多个模型,当用户在浏览器中单击“后退/前进”时,这些模型将保持缓存状态。

感谢您的回复。我看不到在屏幕上显示数据的延迟,不像第一次加载页面,所以我假设数据是缓存的,但我可以看到每次单击“后退/前进”,浏览器都会连接到服务器,这很奇怪,也很混乱。我使用的是稍微修改过的RESTAdaptor,但我不确定这里是否应该归咎于适配器。这是有道理的。它与前进/后退按钮无关,但只要调用find(),Ember就会查询服务器(以检查新记录)。您第一次看到延迟,因为在服务器返回之前,项目列表是空的。如果已经加载了具有该id的记录,它将不会调用服务器来查找(id)。若要进行调试,请尝试在调用find()的任何位置添加一些调试消息,并查看它是否在您期望的时间被调用。没错,我只是尝试向数据库中添加其他条目,然后单击浏览器上的“上一步”,列表中会重新填充新信息。谢谢