Ember.jsをEmberDataで使用する場合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);
これは私が望むことを達成するための確立された方法ですか、それともより良い方法がありますか?