可观察元素数组未更新
Array of observable elements is not updating
>我有可观察的数组,里面有一些对象。此对象的属性之一是可观察元素(字符串格式的日期)的数组。下面是一个可重现的小示例:
this.groups = ko.observableArray([{
name: ko.observable("name"),
deadlines: [
ko.observable("2010-02-08"),
ko.observable("2013-06-18"),
ko.observable("2015-01-23"),
]
}]);
我以下列格式代表他们:
<tbody data-bind="foreach: groups">
<tr>
<td>
<input type="text" placeholder="name" data-bind="value: name"><br><br><br>
<span data-bind="text: name"></span>
</td>
<!-- ko foreach: deadlines -->
<td>
<input type="date" data-bind="value: $data"><br><br><br>
<span data-bind="text: $data"></span>
</td>
<!-- /ko -->
</tr>
</tbody>
问题是当我更新其中一个日期时,它们没有更新。下面是一个 JSfiddle 示例:如您所见,当 2010-02-08 更新时,基础文本保持不变。
一开始我认为它与绑定中的日期有关,但在尝试此操作后,我发现事实并非如此。知道出了什么问题吗?
改为绑定到$rawData
。
<!-- ko foreach: deadlines -->
<td>
<input type="date" data-bind="value: $rawData"><br><br><br>
<span data-bind="text: $data"></span>
</td>
<!-- /ko -->
数组的项总是解开包装的,因此您有效地绑定到可观察量的值,而不是可观察量本身。 $rawData
变量使您可以访问未解开包装的项目。
相关文章:
- JavaScript-保存、存储和更新数组
- 使用ajax(刚刚更改的值)更新数组表
- 如何使用ajax和jquery动态更新数组表
- 使用条件for循环更新数组-Javascript
- 正在RactiveJS上更新数组
- 更新数组中的嵌入文档 - Mongodb + Node Driver
- 余烬更新数组中的对象
- 通过代码+敲除更新数组中的值
- 正在尝试获取事件之外的更新数组的值
- 更新数组后,ng重复双重渲染
- 使用angularjs中复选框的值更新数组
- 将变量推送到数组中,并在每次单击时更新数组
- 如何在Mongoose中从多个数组更新数组内部的值
- 在 ReactJS 中更新数组中对象的最佳方法是什么
- 在 Rally SDK 2 中,如何更新数组字段,例如在变更集的工件上
- 更新数组对象值
- MongoDB 用变量更新数组
- AngularJS - 使用 $http 更新数组内的嵌套对象属性
- JavaScript 使用索引更新数组元素
- 如何更新数组中的所有值?-JS/Jquery.