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

Daz*_*sed 10 aurelia aurelia-binding

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

完成该过程后会发生的情况是未选中触发序列的复选框.我已经检查了结果并且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>
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感谢.

Mat*_*vis 27

这里有一些问题:

  • 问题可能是您的searchSchoolDistrict()代码正在更改IsChecked属性,但one-way绑定不是在监听更改.
  • 虽然内插值会起作用,但使用绑定语法可能是更好的样式.
  • 设置a change.delegate更加健壮,并将收听复选框上的所有更改,这是复选框的最佳做法.
  • 不推荐使用请确保选择适当的范围searchSchoolDistrict(),因为它可能存在于$parent和不存在schoolDistrict.

请尝试使用此代码:

<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>
Run Code Online (Sandbox Code Playgroud)

  • @fops绑定引擎已得到增强,可以搜索可用的父级,无需使用$ parent (6认同)
  • 如果这有用,请评价和订阅 (3认同)