如果我使用,模型会自动更新:
ST.FiltersSymbolsRoute = Ember.Route.extend({
model: function() {
return this.store.find('filter');
}
});
但是当我引入查询时,模型不会自动更新:
ST.FiltersSymbolsRoute = Ember.Route.extend({
model: function() {
return this.store.find('filter', {isSymbol: true});
}
});
这里是小提琴:http://jsbin.com/yeyiroyo/1/2
要复制该错误,请单击符号,单击" +",键入内容,然后按Enter键您将注意到没有任何反应,但如果您单击用户,则再次符号 - 您和#39; ll注意到模型已更新。我们如何才能立即更新?
我认为我需要做的是在这里刷新模型的钩子:
filter.save().then(function(){
//reload the model
});
答案 0 :(得分:1)
查询将返回记录数组而不是单个记录。
model: function() {
return this.store.find('filter', {isSymbol: true}).then(
function(results) {
return results.get('firstObject')
}
);
}
如果要返回记录数组并自动填充,请执行以下操作:
model: function() {
return this.store.filter('filter', {isSymbol: true}, function(record) {
return record.get('isSymbol') === true;
});
}
这是一篇很好的写作。
http://emberjs.com/guides/models/frequently-asked-questions/