使用backbone.js,当调用集合的remove method时,会触发“remove”事件。
如何扩展此“删除”事件以传递额外数据,例如要删除的特定模型的某些属性?
如何绑定由id或cid指定的特定模型触发的“remove”事件?
我认为任何解决方案也适用于“变更”事件?谢谢你的帮助。
答案 0 :(得分:2)
如果要从集合中删除模型,则不再需要该模型。我想我错过了将删除扩展到除了删除内容之外的重点。
在集合上调用remove时,会将集合中的模型或模型数组传递给remove函数。我建议您在调用集合中的删除功能之前,使用这些模型完成所需的最后一分钟工作。此时,您应该拥有计划移除的所有模型及其属性。
要绑定到特定模型的更改事件,您只需从集合中获取所需的模型并绑定到该模型:
var myModel = myCollection.get(id); //using the id of the model
或
var myModel = myCollection.getByCid(cid); //using the cid 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
});