2

次の作業コードがあり、object.on 呼び出しを object.listenTo 呼び出しに置き換えることを計画していました。

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 は、2 番目のバージョンでは呼び出されません。

奇妙なことに、問題なくアプリの残りの部分を適切に更新しました。

私が見逃しているかなりばかげた何かがあるに違いないと確信しています。

ところで、これはイベントを発生させるためにフィールドで使用されるコードです

[...]
  this.trigger('validate', this.errors);

  this.error = !this.isValid();
  return this.errors;
},
4

2 に答える 2