如何在 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>
我有一个复选框列表,当用户选中其中一个复选框时,将在 .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>