Templates 如何在Ember.js中获取复选框状态?

Templates 如何在Ember.js中获取复选框状态?,templates,ember.js,checkbox,components,Templates,Ember.js,Checkbox,Components,我已经创建了一个组件,它可以正确设置值来呈现复选框。它们还可以响应单击事件,因此在hbs模板中有一个循环,该循环呈现如下复选框: <input class="conditions" type="checkbox" value="{{c.id}}" {{action "conditionChecked" r preventDefault=false}} checked={{c.checked}} />{{c.name}} {{c.name} 在组件中,我有操作:,其中包

我已经创建了一个组件,它可以正确设置值来呈现复选框。它们还可以响应单击事件,因此在hbs模板中有一个循环,该循环呈现如下复选框:

<input class="conditions" type="checkbox" value="{{c.id}}" 
  {{action "conditionChecked" r preventDefault=false}} 
  checked={{c.checked}} />{{c.name}}
{{c.name}
在组件中,我有
操作:
,其中包含conditionChecked钩子。钩子有
c
参数,这是我从模板传递的,模板也有
选中的
属性,该属性始终等于
true

如何根据用户的选择(选中/未选中)访问复选框的实际状态?


编辑:我对Ember.js完全是个新手。如果您能提供一个示例链接,那就太好了。

首先,我建议您使用余烬
{{input type=“checkbox”checked=someControllerProperty}
。这将把选中值作为布尔值绑定到传递给
输入
助手的
选中
属性的任何控制器属性。不需要所有的动作。它是Ember,有双向绑定,所以将一个真值传递给这个助手将呈现一个复选框,并显示一个复选标记


如果你必须沿着你要走的路走下去(看起来你在与框架抗争),在你的
conditionChecked
操作中,你可以使用方便的dandy view helper jquery选择器函数
this.$()
并找到你的复选框。找到后,观察其checked属性,并设置一些值。我得说,你在这里重新发明轮子,因为这正是内置的
input type=“checkbox”
helper所做的

首先,我建议你使用余烬
{{input type=“checkbox”checked=someControllerProperty}
。这将把选中值作为布尔值绑定到传递给
输入
助手的
选中
属性的任何控制器属性。不需要所有的动作。它是Ember,有双向绑定,所以将一个真值传递给这个助手将呈现一个复选框,并显示一个复选标记


如果你必须沿着你要走的路走下去(看起来你在与框架抗争),在你的
conditionChecked
操作中,你可以使用方便的dandy view helper jquery选择器函数
this.$()
并找到你的复选框。找到后,观察其checked属性,并设置一些值。我得说,你在这里重新发明轮子,因为这正是内置的
input type=“checkbox”
helper所做的

但是如果我需要收集所有复选框的值并组成一个数组(最终它是服务器端Postres中存储的JSON字段)如何将复选框绑定到单个属性?您可以有一个布尔数组和
{{{{input type=“checkbox”checked=b}}{{{/each}
,但是如果需要收集所有复选框的值并组成一个数组(最终它是服务器端Postres中存储的JSON字段)如何将复选框绑定到单个属性?可以有一个布尔数组和
{{{{{input type=“checkbox”checked=b}}{{{/each}