EmberJS:暂时避免双向绑定

时间:2014-03-29 13:02:50

标签: ember.js

我正在使用EmberJS和Ember-Data,当模型绑定到控制器时,我想暂时避免双向绑定。例如,我有一个项目页面,项目名称始终显示在标题中。项目编辑表单能够更新项目名称。但是,由于双向绑定,如果更改项目名称,它也会在标题中实时更新。

从UX的角度来看,我不希望这样,因为我的用户似乎认为该值实际更新了(因为它在标题中实时更改),而实际上并没有(表单中)必须提交)。

我想要的是,当我在表单的上下文中时,能够暂时停用双向绑定。

PS:我首先考虑在标题中取消绑定项目名称,但这不起作用,因为如果表单实际更新,我希望更新标题中的项目名称。

感谢大家!

1 个答案:

答案 0 :(得分:0)

您可以查看Kris Selden提出的BufferedProxy模式。更多信息:

http://coryforsyth.com/2013/06/27/ember-buffered-proxy-and-method-missing/

本文引用旧版本的Ember-Data,如果您在将更改保存到服务器或“飞行中”时尝试更改模型属性,则会出现错误。拥有代理的基本概念可以做出改变应该对你有帮助。

你可以在EmberNYC聚会上看到Kris在谈论它: https://www.youtube.com/watch?v=ysduY0ocUoA