javascript - Backbone 中的模型更改渲染

标签 javascript events backbone.js view model

我遇到的大多数 Backbone 教程和示例都为您的模型提出了类似的建议:

this.model.on('change', this.render, this);

在我的特定情况下,我正在为我的模型创建一个表单 View ,并且字段与模型属性相关联。当用户更新表单上的字段时,模型也应该更新。这不是问题,因为我有绑定(bind)到字段的事件,这些事件会触发适当的代码来更新我的模型。

但是,我遇到的问题是我还希望 View 在模型更新时更新(如上面提到的普遍存在的更改事件绑定(bind))。这会导致每次更新字段时 View 都会重新渲染自身,因为底层模型正在发生变化。因此,现在每当我更改表单上的值时,我的 View 都会被重新绘制。这不仅效率低下,而且会导致许多令人沮丧的错误(例如失去焦点)。

这个问题通常如何处理?

最佳答案

http://backbonejs.org/#Events-catalog

当您不希望模型更改触发 View 渲染时,请使用{silent: true}。从 Backbone 的最后一个版本开始,这将完全静默更改(之前它只是关闭,直到下一个非静默更改)。因此,当模型的更改来自某些用户输入时,请使用 silent 标志。

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

相关文章:

javascript - 下划线模板未获取值?

javascript - 如何使 Backbone.js 集合项目独一无二?

javascript - 视频从 Dropbox 上传到 vimeo 服务器

javascript - jQuery改变嵌套在div、段落标签和强标签中的文本

Android MotionEvent.getActionIndex() 和多点触控

javascript - jQuery 触发更改事件不起作用

Javascript 通过返回字符串的函数动态对象属性

javascript - DomParser parseFromString 删除节点

Javascript + 运算符 vs - 运算符

javascript - 防止默认事件操作不起作用...?