防止在模型中呈现特定属性的视图的更改事件

  • 本文关键字:属性 视图 事件 模型 backbone.js
  • 更新时间 :
  • 英文 :


我通过侦听模型更改来呈现我的视图,但我不想在模型中的特定值更改时触发或呈现视图。this.options.model.on( 'change', this.render, this (;

model.set(x: "hello"(;

我不希望在设置模型时触发渲染。

如果模型中没有很多属性,那么你可以听听你关心的属性:

// don't include change:x
this.listenTo(this.model, 'change:a', this.render);
this.listenTo(this.model, 'change:b', this.render);
this.listenTo(this.model, 'change:c', this.render);

或者,您可以在渲染之前添加检查:

this.listenTo(this.model, 'change', function (model, value, options) {
    if (model.changed.x === undefined) {
        this.render();
    }
});

调用model.set()时尝试设置 silent 选项

model.set({ x: "hello" }, { silent: true });

最新更新