我的Ember应用程序中的复选框总是最初被检查。
...
{{#each model.fields}}
...
{{input type="checkbox" checked=isOptional}}
fields数组是我模型中的一个属性。 fields数组中的每个对象都有一个名为isOptional的属性,该属性可以是" true"或"假"。
出于某种原因,无论isOptional的值如何,最初都会选中该复选框。
如果我手动选中该复选框,则实际上会更改isOptional标志。所以绑定工作除了检测初始值。
非常感谢任何帮助,谢谢!
编辑:正如评论中所讨论的,问题是因为我的模型是由Ember.$.getJSON()
返回的,其中有" false"在引号中并被解释为真值,导致选中复选框。我通过覆盖布尔值来解决这个问题:
model.fields.forEach(function(field, i) {
Ember.set(field, 'isOptional', (field.isOptional == 'true'));
});
答案 0 :(得分:0)
你可以摆弄的一个jsbin例子 http://emberjs.jsbin.com/kukokiti/1/
如果您可以提供自己的jsbin,我们可以提供更多帮助。
编辑:你可以在字符串值中看到' false'的效果。
最简单的方法可能是在您正在使用的模型上定义计算属性。