为什么在Collection fetch成功时不会触发添加事件?

时间:2012-01-14 13:02:44

标签: javascript backbone.js

var documents = new Backbone.Collection();  
documents.url = "/documents";  

documents.bind("add", function(doc){
    console.log(doc);
});  

documents.fetch();  

为什么add函数在成功获取模型数组时未触发fetch事件?

2 个答案:

答案 0 :(得分:2)

什么文件说:

  

当模型数据从服务器返回时,集合将重置...
  如果您想将传入的模型添加到当前集合中,而不是替换集合的内容,请将{add:true}作为提取选项传递。

所以问题的答案是:像这样调用fetch

documents.fetch({add: true});

它会正常工作。

答案 1 :(得分:0)

我认为在向已填充的Collection添加元素后会触发事件add

在这种特定情况下,您可以收听reset事件,而不是add。另外请记住验证您的收藏集是否正在获取数据。