过去如果我使用过滤器功能,它会返回一个Ember.A([])w / my objects
var day = this.store.filter('day', function(model){
return model.get('day_of_week') === 1;
});
所以我可以做这样的事情......
var interval = day.objectAt(0).get('interval');
但是对于最新的大师(截至今天),这并没有像我期望的那样返回一个对象。 api是否改变或以某种方式改变了返回的类型?
答案 0 :(得分:0)
store.filter
应该返回一个promise数组:http://emberjs.com/api/data/classes/DS.Store.html#method_filter
您可能在查询解析之前尝试访问对象。您可以将代码重构为:
this.store.filter('day', function(model){
return model.get('day_of_week') === 1;
}).then(function(days){ //Wait for the promise to resolve
var interval = days.objectAt(0).get('interval');
//do some more stuff now that you have your filtered day
});