var documents = new Backbone.Collection();
documents.url = "/documents";
documents.bind("add", function(doc){
console.log(doc);
});
documents.fetch();
为什么当 fetch
函数成功获取模型数组时不触发 add
事件?
文档说什么:
当模型数据从服务器返回时,集合将重置...
如果要将传入模型添加到当前集合,而不是替换集合的内容,请将 {add: true} 作为获取选项传递。
所以你的问题的答案:像这样调用fetch
documents.fetch({add: true});
它会正常工作。
我认为事件add
是在您将元素添加到已填充的集合后触发的。
在这种特定情况下,您可以收听reset
事件而不是 add
。还要记住验证你的集合是否正在获取数据。