在骨干网中,您可以执行以下操作:
model.trigger("destroy", model);
它将从集合中删除模型并渲染视图。我试图在更改模型上的属性时获得相同的效果。有一种简单的方法可以做到这一点吗?
答案 0 :(得分:2)
主干中的约定是视图有一个render方法,你可以触发它作为对任何内置事件,你自己的事件或任何你想要的回调。
通常我在view的initialize方法中有一些这样的代码:
this.listenTo(this.model, 'change', this.render, this);
this.listenTo(this.model, 'remove destroy', this.close, this);
您还可以在更改特定属性时进行渲染调用,以下是在模型的age属性更改时获取视图以重新渲染的示例:
this.listenTo(this.model, 'change:age', this.render, this);
在其他地方,渲染函数将在以下内容后触发:
model.set({ age: 27 });
有关内置骨干事件的更多信息,请查看their documentation。
答案 1 :(得分:1)
Marionette的观点有built-in constructs,这使您不必编写此类 Backbone样板。
Marionette.CollectionView.extend({
collectionEvents: {
"change": "render"
}
});