【发布时间】:2017-06-22 18:50:01
【问题描述】:
我正在尝试在不使用额外自定义函数的情况下完成以下操作:
- 将所选项目存储在新数组中
- 仅在选中相应复选框的情况下启用文本框
- 跟踪新数组中的更新值
以下是我的代码的简化示例:
<div repeat.for="item of itemSearch.rates">
<input type="checkbox" ref="item.$index" model.bind="item" checked.bind="selectedRates">
<input type="text" disabled.bind="item.$index.checked == false" value.bind="item.total_value">
</div>
目前,只有checked.bind 正在工作。所选项目存储在我的新 selectedRates 数组中。
但是我的disabled.bind 根本没有被触发。
如果我从复选框中删除 checked.bind,disabled.bind 将完美运行。
在提交后,更新后的值似乎会拉到selectedRates有时,并且元素失去焦点。
我知道as mentioned here 不正式支持数组观察,这只是我注意到值得一提的。
问题
- 有没有办法让
checked.bind与ref和disabled.bind一起工作? - 知道为什么我会看到这个数组类似可观察的行为有时吗?
更新
在记录selectedRates 时,我发现“可观察值”问题间歇性地出现在 firebug 中。
当在 html 中显示它时,值的变化总是更新的,@Fabio 使用了BindingEngine 实现以及我的checked.bind。 Chrome 始终显示并记录正确的值。
仍然不知道为什么,或者我是否应该担心这一点。
【问题讨论】:
标签: javascript aurelia