如何在 Aurelia 中设置复选框绑定

How to set up a checkbox binding in Aurelia

我有一个复选框列表,当用户选中其中一个复选框时,将在 .js 文件中调用一个函数,然后调用一个调用 webapi 控制器的方法 dataservice.js,一切正常returns 正确的数据。

进程完成后发生的情况是未选中触发序列的复选框。我检查了结果,该项目的 schoolDistrict.IsChecked 设置为 true,这是正确的。

如何让复选框被选中?

下面是代码,但我不确定 check.one-way 绑定

<li repeat.for="schoolDistrict of schools.Districts">                                     
  <input type="checkbox" checked.one-way="schoolDistrict.IsChecked" value="${schoolDistrict.Value}" click.trigger="searchSchoolDistrict()"/>${schoolDistrict.Name}
</li>

非常感谢任何帮助。

这里有几个问题:

  • 问题可能是您的 searchSchoolDistrict() 代码正在更改 IsChecked 属性,但 one-way 绑定没有侦听更改。
  • 虽然内插值会起作用,但使用绑定语法可能是更好的风格。
  • 设置一个 change.delegate 更健壮,并且会监听复选框上的所有更改,这是复选框的最佳实践。
  • 已弃用 确保 select searchSchoolDistrict() 的正确范围,因为它可能位于 $parent 而不是 [=17] =].

试试改用这个:

<li repeat.for="schoolDistrict of schools.Districts">                                     
  <input type="checkbox" 
    checked.bind="schoolDistrict.IsChecked" 
    value.one-way="schoolDistrict.Value"
    change.delegate="searchSchoolDistrict()"/>
  ${schoolDistrict.Name}
</li>