我正在使用带有简单嵌套路由结构的EAK,但更改子控制器中的父模型不会更改顶级视图。例如,如果我有以下router.js文件:
this.resource('similar', function() {
this.resource('list', { path: '/list/:phone_id' });
this.resource('upload');
this.resource('new');
});
对于类似的'路由模型我正在使用ember-data和支持Flask的RESTAdapter。
export default Ember.Route.extend({
model: function() {
return this.store.find('phone');
}
});
如果我在'上传'内部操纵模型然后,控制器中的更改不会反映在模板中,例如
var record = this.store.createRecord('phone', {
numbers: [1,2,3,4]
});
record.save();
不会更改" {{#模型中的每个列表}} {{list.numbers}} {{/ each}}"。 如果我重新加载页面它工作正常。我做错了什么?
答案 0 :(得分:0)
而不是store.find
命中服务器并存储该确切列表,请尝试使用store.filter
。新记录加载到商店或在本地创建时,store.filter
"保持最新状态"
http://emberjs.com/api/data/classes/DS.Store.html#method_filter
答案 1 :(得分:0)
这里的问题是REST端点没有返回新记录(设置了id属性)。