繁体   English   中英

Ember.js复选框绑定初始值设置不正确

[英]Ember.js checkbox binding initial value set incorrectly

总是以某种方式始终在我的Ember应用程序中选中该复选框。

...
{{#each model.fields}}
...
  {{input type="checkbox" checked=isOptional}}

字段数组是我模型中的一个属性。 字段数组中的每个对象都有一个名为isOptional的属性,该属性可以为“ true”或“ false”。

由于某些原因,无论isOptional的值如何,都首先选中该复选框。

如果我手动选中该复选框,则isOptional标志实际上将被更改。 因此,除了检测初始值之外,绑定均有效。

非常感谢任何帮助,谢谢!


编辑:正如评论中所讨论的,问题是因为Ember.$.getJSON()返回了我的模型,该模型的引号中包含“ false”,并被解释为真值,从而选中了复选框。 我通过覆盖布尔值解决了这个问题:

model.fields.forEach(function(field, i) {
  Ember.set(field, 'isOptional', (field.isOptional == 'true'));
});

您可以使用http://emberjs.jsbin.com/kukokiti/1/摆弄的jsbin示例

如果您可以提供自己的jsbin,我们可以提供更多帮助。

编辑:您可以在字符串值中看到'false'的影响。

最简单的方法可能是在所使用的模型上定义一个计算属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM