Ember.js 余烬可组合助手复选框未选中

Ember.js 余烬可组合助手复选框未选中,ember.js,Ember.js,我正在使用Ember中的可组合助手。当我单击父复选框时,所有子复选框都会选中并取消选中,但父复选框从不显示复选标记。我错过了什么 父项: 子项:用于此样式时的{{action}帮助程序(通过提供函数来关闭)。在旧版本的灰烬中,我可以想出一些方法来解决这个问题。(对于ember octane,您只需使用{{{on}}辅助程序,它不会受到相同的限制) 在组件的后台JS中的操作中执行切换,并传递{{action“toggle”}以停止事件冒泡 使用{{if}}拆分您的输入 如果这不起作用,您可能希

我正在使用Ember中的可组合助手。当我单击父复选框时,所有子复选框都会选中并取消选中,但父复选框从不显示复选标记。我错过了什么

父项:


子项:

用于此样式时的
{{action}
帮助程序(通过提供函数来关闭)。在旧版本的灰烬中,我可以想出一些方法来解决这个问题。(对于ember octane,您只需使用
{{{on}}
辅助程序,它不会受到相同的限制)

  • 在组件的后台JS中的操作中执行切换,并传递
    {{action“toggle”}
    以停止事件冒泡

  • 使用
    {{if}}
    拆分您的输入


  • 如果这不起作用,您可能希望尝试使用内置组件,因为它可以平滑事件的一些粗糙边缘。

    引发此错误的原因:上的编译错误不是修饰符:元素表单中可能不使用帮助程序。好的,听起来您使用的是在引入上修饰符之前的ember版本。我添加了有关将操作帮助程序绑定到特定事件的信息。这将错误消息更改为:断言失败:没有用于的操作处理程序:clickSorry,我徒手操作了它并使用了错误的语法。我在上面更正了它,但也在文档中做了更多的修改,也许找到了问题的根本原因。
    {{if this.allSelected}}
      <input checked>
    {{else}}
      <input>
    {{/if}}
    
    <input type="checkbox" checked={{this.allSelected}} {{on "click" (toggle "allSelected" this)}}>
    
    <input type="checkbox" checked={{this.allSelected}} {{action (toggle "allSelected" this) on="click"}}>