为什么集合提取成功时不触发添加事件?


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 。还要记住验证你的集合是否正在获取数据。

最新更新