knockout.js - 没有模板的 knockout 绑定(bind)到数组元素只能以一种方式工作

标签 knockout.js

有人可以帮助我更好地理解在不使用模板的情况下绑定(bind)到可观察数组元素吗?

我有一个表,其中包含的数据多于我尝试从数组中呈现的数据。我的数组是固定大小的,因此为了避免布局的挑战,我想将输入框直接绑定(bind)到数组元素。我可以将其单向绑定(bind)到 View ,但无法识别更新。这是我的样本:jsfiddle

我没有成功地尝试使每个元素可观察,但我得到了相同的结果。

最佳答案

访问数组项的语法导致 Knockout 在单向绑定(bind)发生更改时不会创建回调来更新该值(它认为它是一个表达式且不可写)。例如,如果您这样做,它将正常工作:

viewModel.test = viewModel.recipients()[0];

然后做了:

<input data-bind="value: test.emailAddress"/>

因此,您的情况表明这是 knockout 中的一个问题。这在模板绑定(bind)中也可以正常工作,或者如果您不想使用模板绑定(bind),那么将 emailAddress 设为可观察对象也可以正常工作。

它看起来像:http://jsfiddle.net/rniemeyer/3JmbA/2/

因此,您可以在构造函数中将 emailAddress 设置为可观察值,并且您的警报需要将可观察值作为函数来访问。

关于knockout.js - 没有模板的 knockout 绑定(bind)到数组元素只能以一种方式工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7046125/

相关文章:

knockout.js - 使用 moment.js 格式化 Breeze 检索到的日期。 Hot Towel 模板

javascript - Q.Promise 和 KO.mapping 未将对象数组转换为正确的类型

javascript - 多列标题 iggrid 存在 knockout 问题

javascript - 如何正确使用Knockout Visible绑定(bind)?

asp.net-mvc - Asp.net MVC 4 API 和 Knockout.js : Generate Knockout. js 模型

javascript - knockoutjs - 当输入集中时,将值放在其他位置

performance - KnockoutJS 性能 : Only Render Elements that are Currently in View (Clean/Destroy Others)

knockout.js - 点击绑定(bind)的启用条件

javascript - 交换 observableArray 中的 2 个项目 - knockout

javascript - 将 Knockout 绑定(bind)应用于页面的特定部分 : What am I doing wrong?