Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么';集合提取成功时是否会触发添加事件?_Javascript_Backbone.js - Fatal编程技术网

Javascript 为什么';集合提取成功时是否会触发添加事件?

Javascript 为什么';集合提取成功时是否会触发添加事件?,javascript,backbone.js,Javascript,Backbone.js,为什么当fetch函数成功获取模型数组时,add事件没有触发?我认为事件add是在向已填充的集合添加元素后触发的 在这种特定情况下,您可以收听reset事件,而不是add。另外,请记住验证您的收藏是否正在获取数据。文档说明: 当模型数据从服务器返回时,集合将重置… 如果要将传入模型添加到当前集合中,而不是替换集合的内容,请将{add:true}作为一个选项传递给fetch 那么你问题的答案是:像这样调用fetch var documents = new Backbone.Collection()

为什么当
fetch
函数成功获取模型数组时,
add
事件没有触发?

我认为事件
add
是在向已填充的集合添加元素后触发的


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

文档说明:

当模型数据从服务器返回时,集合将重置…
如果要将传入模型添加到当前集合中,而不是替换集合的内容,请将{add:true}作为一个选项传递给fetch

那么你问题的答案是:像这样调用fetch

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

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

documents.fetch();  
它会很好的工作

documents.fetch({add: true});