Backbone 一个监听着 Model 的 View, 如果同时有 Controller 的身份, 怎样处理循环修改?

发布于 2022-08-25 11:38:13 字数 607 浏览 28 评论 0

场景是这样的:
一个 Model 被两个 View 使用, 两边的 View 都能修改, 这样另一个 View 就要同步数据.
为了减少逻辑的繁琐, 我通过 change:text 来完成两边的渲染.
但问题随之而来, 当前的 input 修改之后, 监听到 change 又会重新渲染.
如果是简单点的状况, 我会考虑用 silent:true 绕开, 但现在是需要事件的.

请问有没有好的方案来应对问题? 在 Backbone 里通常怎样处理的?


更新:

我当前的方案是在 .set 和回调函数的 options 里加上 triggerBy 属性,
通过判断 triggerBy 来避免被自己的修改触发渲染
http://backbonejs.org/docs/backbone.html#section-47

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

懒猫 2022-09-01 11:38:14

个人一般直接依赖于 Backbone.ModelBinder 解决绑定问题。

但我感觉,某个view重复渲染似乎不是什么问题……然后,我会尽量避免两个地方都能修改同一个view

好像没回答到这个问题……

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文