javascript - 模型更改后触发 View 渲染

标签 javascript backbone.js marionette

在 backbone 中你可以做以下事情:

model.trigger("destroy", model);

它将从集合中删除模型并渲染 View 。我试图在更改模型的属性时获得相同的效果。有没有简单的方法可以做到这一点?

最佳答案

backbone 中的约定是 View 有一个 render 方法,您可以触发该方法作为对任何内置事件、您自己的事件或您真正想要的任何时间的回调。

通常我在 View 的初始化方法中有一些这样的代码:

this.listenTo(this.model, 'change', this.render, this);
this.listenTo(this.model, 'remove destroy', this.close, this);

您还可以对特定属性的更改进行渲染调用,这是在模型的年龄属性更改时获取 View 以重新渲染的示例:

this.listenTo(this.model, 'change:age', this.render, this);

在其他地方渲染函数会在这样的事情之后被触发:

model.set({ age: 27 });

有关内置主干事件的更多信息,请查看 their documentation .

这是一个sample fiddle of a model change triggering a render .

关于javascript - 模型更改后触发 View 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21516325/

相关文章:

javascript - JSGrid 不显示 json 数据

php - 更新 MySQL 数据库中的 Backbone.js 模型

javascript - 在 Marionette/underscore 模板中使用带有奇怪字符的属性

javascript - Marionette:如何将 LayoutView 作为一行添加到 CompositView 表中?

javascript - marionette.js Controller 初始化中的 this.options 参数

javascript - 如何在 html 中评估来自 AngularJS Controller 的变量?

javascript - 这个 HTTP-Get Basic 身份验证代码有什么问题?

javascript - 将类似模型分组到 Backbone 集合中

javascript - 为什么 NoScript 标签不适用于所有浏览器

javascript - 解释嵌套的 javascript 对象属性访问器字符串的最快方法是什么?