假设我有一个包含2个预填充字段的模型。我想在DOM中显示这些字段,以便用户在必要时进行修改。如果我使用{{input value = field1}}和{{input value = field2}}将DOM绑定到模型,那么每当用户在其中一个字段中键入字符时,Ember会立即更新绑定模型。这不是我想要的行为。我更喜欢显示一个按钮;当按下时,我想验证两个字段中的数据是否相互关联,如果有效,则更新模型。Ember数据绑定
我认为在控制器中创建镜像字段并将它们绑定到DOM。然后创建与该按钮相关的操作以进行验证,并且如果发现数据有效,则将数据从控制器字段复制到相应的模型字段。这种技术可能会起作用,但看起来像是一种在概念上做简单事情的非常全面的方式。
你们其中一位安静的大师在那里有如何做到这一点的意见?我正在寻找最佳实践;请帮忙。
控制器变量绑定方法的问题是我首先必须将字段值从模型复制到控制器才能显示,然后在验证后将其复制回模型。这是很多数据来回移动,只是感觉不对。我还注意到有一个“未绑定”的手把帮手,可以让我无需绑定即可显示数据。但是我目前不太清楚如何使用这个帮助程序从数据库中获取验证数据并随后传输到模型。 – user2436810
我可能不会将两个字段描述为“大量数据”。此外,这个未绑定的帮助程序听起来很奇怪,因为您明显地告诉它要以什么数据开始(例如,与在控制器上设置数据大致相同),现在您需要将数据从DOM中提取以设置模型(而不是比我认为的更干净的绑定控制器)。 Ember的方式是使用绑定。 – gerry3
@ user2436810我已经用第一个解决方案更新了我的答案,该解决方案实际上是绑定到模型并使用'rollback'。 – gerry3