Backbone 一个监听着 Model 的 View, 如果同时有 Controller 的身份, 怎样处理循环修改?
场景是这样的:
一个 Model 被两个 View 使用, 两边的 View 都能修改, 这样另一个 View 就要同步数据.
为了减少逻辑的繁琐, 我通过 change:text
来完成两边的渲染.
但问题随之而来, 当前的 input
修改之后, 监听到 change
又会重新渲染.
如果是简单点的状况, 我会考虑用 silent:true
绕开, 但现在是需要事件的.
请问有没有好的方案来应对问题? 在 Backbone 里通常怎样处理的?
更新:
我当前的方案是在 .set
和回调函数的 options
里加上 triggerBy
属性,
通过判断 triggerBy 来避免被自己的修改触发渲染
http://backbonejs.org/docs/backbone.html#section-47
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
个人一般直接依赖于 Backbone.ModelBinder 解决绑定问题。
但我感觉,某个view重复渲染似乎不是什么问题……然后,我会尽量避免两个地方都能修改同一个view
好像没回答到这个问题……