标签:backbone-events javascript backbone-js
在Backbone集合上调用collection.fetch({add:true})之后,我想在更新集合的视图完成渲染后触发事件.
“collection view”具有“添加”方法,该方法为集合中的每个新项目生成“item view”,在该视图上调用“渲染”,并将其添加到集合视图中.
有没有办法在提取集合时触发事件,并且所有项目都已添加并呈现?
解决方法:
fetch
method on collections采用成功参数:
fetch
collection.fetch([options])
[…] The options hash takes
success
anderror
callbacks which will be passed (collection, response, options) and (collection, xhr, options) as arguments, respectively.
在更新集合后将调用成功回调,以便在触发并处理所有“添加”事件后调用它.所以你可以这样做:
collection.fetch({
success: function(collection, response, options) {
collection.trigger('fetched_and_notified');
}
});
任何关心的人都可以收集.(‘fetched_and_notified’,…)来监听这样的事件.如果您愿意,可以提供自己的fetch实现来自动触发此事件,如下所示:
fetch: function(options) {
options = options ? _.clone(options) : { };
var success = options.success;
options.success = function(collection, response, options) {
collection.trigger('fetched_and_notified', collection);
if(success)
success(collection, response, options);
};
Backbone.Collection.prototype.fetch.call(this, options);
}
标签:backbone-events,javascript,backbone-js 来源: https://codeday.me/bug/20190826/1725234.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。