哪些参数传递给绑定到Backbone.Model更改事件的处理程序?

时间:2013-06-26 15:30:58

标签: backbone.js marionette

我似乎无法找到任何相关的文档,并且使用代码并没有帮助我完全理解这一点。

我有Backbone模型,在我的my中我将处理程序绑定到模型更改事件:

var myModel = new ModelA();

var myView = new ViewA({
  model: myModel
})

//in my view I have
this.listenTo(this.model, "change", this.handleChange);

有人可以向我解释一下哪些参数传递给 this.handleChange ?我知道了 有2个参数,模型& ,但它们究竟是什么?

当我绑定到特定属性时会发生什么,如下所示:

this.listenTo(this.model, "change:attr", this.handleChange);

当我使用 myModel.unset(“attr”); 从模型中取消设置属性时,传递给handleChange的值是什么?我发现在某些情况下,值是未定义的,有时它有1个属性 unset = true

我们将不胜感激任何帮助或指向相关文档。

1 个答案:

答案 0 :(得分:3)

来自代码:

活动change:attr

this.trigger('change:' + changes[i], this, current[changes[i]], options);

活动change

this.trigger('change', this, options);

所以在第一种情况下,参数是:模型,值和使用的选项(外部和内部选项(例如,unset: true调用的unset))。在第二种情况下,因为它与特定属性无关,所以参数是:模型和选项。