Ember.js - 如何在路径加载时不重新加载模型

时间:2016-04-18 17:29:17

标签: ember.js ember-data

我正在开发一个应用程序,其中有大量项目,通过ember-data从服务器加载。此列表可以按日期等不同字段进行过滤。

首次加载此路线时,会按日期过滤:它仅加载当前年份的项目。但是,用户可以更改这些过滤器。

当你转换到另一条路线并回来时,可见的过滤器与你离开时相同,ember似乎记得它们。但是,由于模型是在控制器存在且过滤器可用之前由路径加载的,因此它会加载所有当前年份的模型。

因此,结果是用户看到了所有当前年度项目的列表,以及一组可能不匹配的过滤器。

我喜欢的是,如果已经可用,则不重新加载模型的路线,以节省时间和网络;但任何解决方案都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

  1. 您可以将GET移动到控制器上,如果控制器已经存在,则路由更改时不会重新生成控制器

  2. 从beforeModel中的控制器中获取最后选择的过滤器选项:...或model:...方法通过查询加载数据(如果可能)

  3. 如果您确定已加载所有数据,请使用peekRecords以避免新的网络请求