Javascript backbone.js随事件一起传递额外数据
使用backbone.js,当集合被调用时,将触发“删除”事件Javascript backbone.js随事件一起传递额外数据,javascript,backbone.js,Javascript,Backbone.js,使用backbone.js,当集合被调用时,将触发“删除”事件 我如何扩展这个“remove”事件来传递额外的数据,例如要删除的特定模型的某些属性 如何绑定到由id或cid指定的特定模型触发的“移除”事件 我想任何解决方案也适用于“变更”事件?谢谢您的帮助。如果您要从收藏中删除模型,您不应该再需要该模型了。我想我错过了将remove扩展到做更多事情的意义,而不仅仅是删除一些东西 对集合调用remove时,将集合中的模型或模型数组传递给remove函数。我建议您在调用集合中的移除函数之前,在最后一
我想任何解决方案也适用于“变更”事件?谢谢您的帮助。如果您要从收藏中删除模型,您不应该再需要该模型了。我想我错过了将remove扩展到做更多事情的意义,而不仅仅是删除一些东西 对集合调用remove时,将集合中的模型或模型数组传递给remove函数。我建议您在调用集合中的移除函数之前,在最后一分钟完成这些模型所需的所有工作。此时,您应该拥有计划删除的所有模型及其属性 要绑定到特定模型的更改事件,只需从集合中获取所需的模型并绑定到该模型:
var myModel = myCollection.get(id); //using the id of the model
或
现在绑定到该模型:
myModel.bind("change", function() {
//do something
});
或者,将更改绑定到集合中的所有模型:
myCollection.bind("change", function(model) {
//do something, model is the model that triggered the change event
});
感谢@ryanmarc的回复。我在页面上有其他引用要删除的模型的元素,因此我希望该模型通知这些其他元素,以便它们可以取消引用该模型并进行其他处理。我想这可以在移除之前完成,就像你说的,但是我想知道在移除事件本身的同时传递这些模型的属性是更干净还是更有效,因为该事件被称为。对我来说,似乎进行调用并将要删除的模型传递到与remove方法分离的适当位置比扩展remove做更多的事情更为简洁。但是,如果要覆盖remove函数,请将其从主干源(在“集合”下)复制出来,并粘贴到扩展集合的位置。当您在该集合上调用remove时,它将使用您的函数,而不是主干源中的函数。您基本上有一组绑定到集合中模型的视图吗?如果是这样的话,我猜您将从一个集合向其视图提供每个模型,并且在该视图中您将绑定到“删除”事件。@Bill Thank我想知道是否可以通过cid任意绑定到更改或删除事件。例如
.bind(“c4change”,function(){})
其中c4是cid。
myCollection.bind("change", function(model) {
//do something, model is the model that triggered the change event
});