延迟加载一个关联

时间:2013-11-07 22:57:47

标签: ember.js lazy-loading ember-data

我有一个项目模型,每个模型都有很多任务和一个简单的模板:

<ul>
{{#each task in tasks}}
  <li>{{task.name}</li>
{{/each}}
</ul>

它工作正常,我可以通过访问/ project /:id

显示每个项目的任务列表

我想在我的标题中显示所有项目列表的下拉列表,但我不想加载附加到每个项目的所有任务,因为这将是很多对象。 目前我的projects.json不包含“tasks”属性,但项目/:id.json不包含。

实现这一目标的最佳方法是什么?

我应该在我的hasMany关联中使用async:true,并在projects.json中返回任务的id,或者是否可以避免这种情况?

1 个答案:

答案 0 :(得分:0)

我认为目前没有推荐的解决方案。

您可以阅读此discussion of "partial" loading with ember,其中包含一些与SO相关的问题。

我正在考虑实现它的一种低技术方法是为列表创建一个轻量级对象,并通过一个查找具有相同ID的详细对象的操作链接到详细对象。