Backbone.js 主干:我应该听什么节目
我创建了一个视图,它正在侦听一个集合。这些系列的型号一次全部更换。我希望尽可能少地渲染视图 视图: 为了更新集合,我创建了一个模型数组,重置集合并将新数组放入集合。我需要听重置,使一个空的集合被渲染。 我不从restful服务器获取数据 是否有其他方法来侦听对集合的更改 编辑: 还有一个问题:虽然我只是向集合中添加了一个模型数组,但主干网是否正在为此数组中的每个模型调用添加事件?请查看文档中的。您可以侦听参数中包含参数Backbone.js 主干:我应该听什么节目,backbone.js,Backbone.js,我创建了一个视图,它正在侦听一个集合。这些系列的型号一次全部更换。我希望尽可能少地渲染视图 视图: 为了更新集合,我创建了一个模型数组,重置集合并将新数组放入集合。我需要听重置,使一个空的集合被渲染。 我不从restful服务器获取数据 是否有其他方法来侦听对集合的更改 编辑: 还有一个问题:虽然我只是向集合中添加了一个模型数组,但主干网是否正在为此数组中的每个模型调用添加事件?请查看文档中的。您可以侦听参数中包含参数集合的所有事件 添加-(模型、集合、选项)-将模型添加到集合时 删除-(模型
集合
的所有事件
-将模型添加到集合时添加-(模型、集合、选项)
-从集合中删除模型时删除-(模型、集合、选项)
-当收藏的全部内容被替换时重置-(收藏,选项)
-集合重新排序时sort-(集合,选项)
-当模型被销毁时销毁-(模型、集合、选项)
-当模型或集合已启动对服务器的请求时request-(model\u或\u collection,xhr,options)
-当模型或集合已成功与服务器同步时sync-(模型或集合,resp,选项)
-当模型或集合向远程服务器的请求失败时错误-(模型或集合,resp,选项)
–此特殊事件为任何触发的事件激发,将事件名称作为第一个参数传递all
集合的官方文档。重置
:一次添加和删除一个模型都很好,但有时您需要更改的模型太多,您宁愿批量更新集合。谢谢,所以我继续使用我的阵列。
BoxContent = Backbone.View.extend({
initialize: function(options) {
console.log("BoxContent initializing");
this.el = options.el;
this.collection = options.collection;
this.collection.on("add", this.update, this);
this.collection.on("reset", this.update, this);
},
update: function(){
this.render();
},
render: function() {
document.getElementById('boxContentHeader').innerHTML = localStorage.activeBox;
console.log("BoxContent rendering");
var temp = _.template(maincontemp,{boxFolder: this.collection});
this.$el.empty();
this.$el.append(temp);
this.$el.trigger("create");
},
reset: function()
{
this.render();
},
close: function(){
//console.log("off-logging clickListener");
//this.collection.off();
//$(this.el).off();
}
});