我很想知道为什么在createRecord
使用findQuery
获取数据后,我的模板无法更新。
将此return this.store.findQuery('timetracking', {year: year, month: month, user_id: user_id});
更改为return this.store.find('timetracking');
时,模板会更新我的新记录。
我不想获取所有记录以保存带宽,但是当仅使用find/findQuery
查询参数时,我新创建的记录不会显示在我的模板中。
我是否必须重新加载?怎么做?
更新
灰烬检查员显示新记录。
答案 0 :(得分:5)
findQuery
将过滤的工作放回到服务器上。 Ember Data假定返回的结果是与该集合关联的唯一结果。没有查询或ID(find
)的findAll
将始终返回在商店中找到的所有记录,因为它意识到您没有查找任何已过滤的集合,如果您高兴地创建新记录知道将它包含在所有可用记录中。您可以使用pushObject
手动将记录推送到记录集合中。
// assuming you're in the context of your `findQuery` results, and they are the model
var model = this.get('model'),
record = this.store.createRecord('timetracking', {...});
model.pushObject(record);