backbone.js传递额外数据和事件

时间:2011-06-28 02:36:12

标签: javascript backbone.js

使用backbone.js,当调用集合的remove method时,会触发“remove”事件。

  1. 如何扩展此“删除”事件以传递额外数据,例如要删除的特定模型的某些属性?

  2. 如何绑定由id或cid指定的特定模型触发的“remove”事件?

  3. 我认为任何解决方案也适用于“变更”事件?谢谢你的帮助。

1 个答案:

答案 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
});