我有以下工作代码,我打算用 object.listenTo 调用替换 object.on 调用:
setField: function(field) {
if (this.field) this.field.off(null, null, this);
if (field) {
this.field = field;
this.field.on('validate', this.renderErrors, this);
}
return this;
},
这是新版本
setField: function(field) {
if (this.field) this.stopListening(this.field);
if (field) {
this.field = field;
this.listenTo(this.field, 'validate', this.renderErrors);
}
return this;
},
但有些如何它不起作用。this.renderErrors 方法不会在第二个版本中被调用。
奇怪的是我相应地更新了我的应用程序的其余部分,没有任何麻烦。
我敢肯定,我一定缺少一些很愚蠢的东西。
顺便说一句,这是该字段用来引发事件的代码
[...]
this.trigger('validate', this.errors);
this.error = !this.isValid();
return this.errors;
},