在使用 Ember.js 和 Ember 数据时,Model.find()
我希望能够绑定一个处理程序,一旦结果中的记录可用,该处理程序就会被调用DS.RecordArray
。我找到了解决方案,但我觉得必须有更好的方法。
我当前的解决方案使用Array.addArrayObserver,例如对于一些虚构的模型,App.Widget
:
// Find the widgets!
var widgets = App.Widget.find();
// Get notified when widget records are available...
var arrayObserver = Ember.Object.create({
arrayWillChange: function(start, removeCount, addCount) {
// Widget records are about to be loaded.
},
arrayDidChange: function(start, removeCount, addCount) {
// Widget records have now been loaded.
var myWidget = widgets.objectAt(0);
}
});
// Add the above arrayObserver to the widgets array
widgets.addArrayObserver(arrayObserver);
这是实现我想要的既定方法,还是有更好的方法?