Javascript 可观察元素的数组未更新
我有一个可观测的阵列,里面有一些物体。此对象的属性之一是可观察元素的数组(日期为字符串格式)。以下是一个可重复的小示例:Javascript 可观察元素的数组未更新,javascript,knockout.js,Javascript,Knockout.js,我有一个可观测的阵列,里面有一些物体。此对象的属性之一是可观察元素的数组(日期为字符串格式)。以下是一个可重复的小示例: this.groups = ko.observableArray([{ name: ko.observable("name"), deadlines: [ ko.observable("2010-02-08"), ko.observable("2013-06-18"), ko.observable(
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>
问题是,当我更新其中一个日期时,它们没有更新。这里是一个:正如你看到的,当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
变量允许您访问未展开的项目。尝试将“截止日期”数组设置为observableArray@JDTLH9不,它不起作用。我想知道为什么$data
反应不正确,你帮我省了几个小时在角落里哭泣的时间。