我有一个我要追加的收藏品。在我的应用程序中,我在注销时销毁所有模型 - 使用这段代码:
logout: function(event) {
$.post('./logout');
App.Contacts.each(function (contact){
console.log(contact);
contact.destroy();
});
}
问题是并非所有模型都被删除。如果我再次按下注销按钮来触发此功能,它们最终会被删除。 控制台抱怨它们未定义 - 因此它没有处理它。
可能会发生什么?
答案 0 :(得分:1)
为什么不使用reset。调用collection.reset()
而不传递任何模型作为参数将清空整个集合。
尝试:
logout: function(event) {
$.post('./logout');
App.Contacts.reset();
}
答案 1 :(得分:1)
如果你要销毁所有这些事件以便发起destroy
或remove
事件(你不会从reset
获取),你可以尝试使用{{1方法。
例如,
invoke
答案 2 :(得分:0)
在你的代码中,每次销毁模型时,收集的长度都会改变,这可能会产生一些问题,所以如果你想正确处理它,请使用:
App.Contacts.reset();
正如Niranjan Borawake所说的那样。