Ember.js 我对余烬数据中'store.filter'方法的行为感到困惑

Ember.js 我对余烬数据中'store.filter'方法的行为感到困惑,ember.js,Ember.js,我对余烬数据的行为有点困惑 请查看此示例:。 单击“转到活动”,然后单击“转到索引”。请一遍又一遍地重复此导航。 并检查浏览器的Javascript控制台 我的问题是 当我们转到索引路径时,为什么调用store.filter的函数? 为什么store.filter的函数调用的数量会随着上面的重复而不断增加? 为什么当我们不协调store.find'post'时,store.filter函数调用的数量会增加;在ActiveRoute的模型钩子中? 此行为是否为余烬数据的功能?将记录添加到另一个记录

我对余烬数据的行为有点困惑

请查看此示例:。 单击“转到活动”,然后单击“转到索引”。请一遍又一遍地重复此导航。 并检查浏览器的Javascript控制台

我的问题是

当我们转到索引路径时,为什么调用store.filter的函数? 为什么store.filter的函数调用的数量会随着上面的重复而不断增加? 为什么当我们不协调store.find'post'时,store.filter函数调用的数量会增加;在ActiveRoute的模型钩子中?
此行为是否为余烬数据的功能?

将记录添加到另一个记录数组时,会触发筛选器数组重新检查筛选器是否为最新的:

** 接受一个类型和筛选器函数,并返回一个 在新记录加载到存储区或创建时保持最新 在当地

而且,每次点击路线时,您都会不断创建live record阵列,每次调用find时,所有这些阵列都会保持最新

您可以将帖子向下移动一个级别,并在posts资源中获取它们,然后将过滤器存储在该级别。然后,当您点击活动路线时,您可以从他上方的控制器获取过滤列表

又名PostsActiveController从PostsController获取过滤后的结果集


谢谢你的澄清。那么,我该怎么办?我不希望不必要地调用filter函数。在这些情况下有什么最佳实践吗?我会抓取资源并将其存储在路由上方的控制器上。这样,您就可以在索引/活动路由上来回跳转,而无需重新绘制过滤列表。你也可以为索引路径存储帖子,也可以不必为此而去商店,但这取决于你。谢谢!这对我很有帮助。我想试试后者。