Backbone.js 哪些参数传递给绑定到主干的处理程序。模型更改事件?

Backbone.js 哪些参数传递给绑定到主干的处理程序。模型更改事件?,backbone.js,marionette,Backbone.js,Marionette,我似乎找不到任何关于这方面的文档,玩弄代码并没有帮助我完全理解这一点 我有主干模型,在我的模型中,我将一个处理程序绑定到模型更改事件: var myModel = new ModelA(); var myView = new ViewA({ model: myModel }) //in my view I have this.listenTo(this.model, "change", this.handleChange); 有人能给我解释一下传递给this.handleChange的

我似乎找不到任何关于这方面的文档,玩弄代码并没有帮助我完全理解这一点

我有主干模型,在我的模型中,我将一个处理程序绑定到模型更改事件:

var myModel = new ModelA();

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

//in my view I have
this.listenTo(this.model, "change", this.handleChange);
有人能给我解释一下传递给this.handleChange的参数是什么吗?我懂了 有两个参数,模型,但它们到底是什么

绑定到特定属性时会发生什么情况,如:

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

如有任何相关文档的帮助或提示,我们将不胜感激。

代码:

事件
更改:attr

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

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

因此,在第一种情况下,参数是:模型、值和使用的选项(外部和内部选项(例如,
unset:true,用于
unset
调用))。在第二种情况下,由于它不涉及特定的属性,参数是:模型和选项。

因此,如果我理解第一种情况下的属性,我会得到该属性的新值(即更改后的值)?如果我取消设置该属性,我将得到:model、undefined和任意选项(比如unset:true)?传递的内部和外部选项是什么?他们是如何决定的?@elah对你的第一句评论说:应该是这样吗;其次:外部是您选择的,内部是默认使用的(请参见方法的默认行为)加上一些内部机制所必需的(例如unset标志,因为unset实际上使用set)。