1

我对 Ember Data 的行为有点困惑。

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

我的问题是...

  1. 为什么store.filter我们去indexRoute的时候会调用's函数?
  2. 为什么store.filter我们上面重复的函数调用的数量继续增加?
  3. 为什么store.filter当我们store.find('post');在模型钩子中注释时,函数调用的数量会增加ActiveRoute

这种行为是 Ember Data 的一个特性吗?

4

1 回答 1

0

当记录添加到另一个记录数组时,它会触发过滤器数组以重新检查过滤器是否是最新的:

** 采用类型和过滤器函数,并返回一个实时 RecordArray,当新记录加载到存储中或在本地创建时,该记录保持最新。

而且您每次到达路线时都会不断创建实时记录数组,每次调用 find 时都会保持最新状态。

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

AKA PostsActiveController 从 PostsController 获取过滤后的结果集。

http://jsbin.com/OCAKIjA/4/edit

于 2013-10-04T04:37:13.473 回答