gpt4 book ai didi

Ember.js:如何绑定(bind)在记录加载到 DS.RecordArray 时应调用的处理程序?

转载 作者:行者123 更新时间:2023-12-03 06:26:56 25 4
gpt4 key购买 nike

在执行 Model.find() 时使用 Ember.js 和 Ember Data我希望能够绑定(bind)一个处理程序,一旦结果 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);

这是实现我想要的目标的既定方法,还是有更好的方法?

最佳答案

在绑定(bind)到所需数据的 Controller 中,您可以观察 content.isLoaded 属性,一旦存储适配器加载数据,该属性将设置为 true:

contentLoaded: function() {
console.log('controller content is loaded from store');
}.observes('content.isLoaded')

关于Ember.js:如何绑定(bind)在记录加载到 DS.RecordArray 时应调用的处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15418867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com