我试图向Ember数据存储添加新记录,并且它预计会立即显示。花了几个小时试图找出为什么它不显示,并发现,传递参数到Ember数据store.find阻止它。Ember数据带参数的“查找”阻止显示新记录
所以此代码的工作:
App.FlagsRoute = Ember.Route.extend({
model: function(params) {
return this.store.find('flag');
}
});
App.FlagsController = Ember.ArrayController.extend({
init: function() {
this.store.createRecord('flag');
}
});
JSBin:http://jsbin.com/OxIDiVU/409/edit
有被显示出来,预计在表的底部一个新的记录。
而当我只添加一件事情时,参数找到查询,它停止工作。
所以这段代码打破新纪录diplaying:
App.FlagsRoute = Ember.Route.extend({
model: function(params) {
return this.store.find('flag', params);
}
});
JSBin:http://jsbin.com/OxIDiVU/407/edit
新记录实际添加到灰烬的数据存储,但在表中没有显示。
我认为init()是错误的地方,并试图添加对象作为用户交互的结果。仍然不起作用:http://jsbin.com/OxIDiVU/411/edit。我的用例是创建对象并将其传递给模态窗体,而无需转换到“新”控制器或类似的东西。 –
您仍在使用参数调用'find',这意味着数组不会因更改而更新。改变你的模型钩子只是返回'this.store.find('flag')',它会工作。 – GJK
使用参数查找正是我所需要的。无法更改,因为在我的用例中,参数是日期,服务器返回特定日期的数据子集。 –