[英]knockoutjs observable array of observable objects binding
我有一个问题,当我将包含可观察属性的对象添加到observablearray时,接口未更新。
我在这个论坛上研究了类似的问题( KnockoutJS-Observable对象的Observable数组 ),但是我仍然无法正确获取语法,因此在尝试了一天之后,我转向期望帮助的人。
我已经创建了我要实现的目标的典范
https://jsfiddle.net/ryrpnbr9/23/
当您按下添加按钮时,将创建一个BatchItem对象,并将其添加到Batch的BatchItems observablearray中。 我可以看到该对象正在更新。
我有一个表,定义了以下绑定
<tbody data-bind="foreach: Batch.BatchItems()">
<tr>
<td><span data-bind="text: DocumentType"></span></td>
<td><span data-bind="text: ItemType"></span></td>
</tr>
</tbody>
任何帮助将非常感激。 谢谢
代替self.Batch.BatchItems().push(bi);
,则必须调用self.Batch.BatchItems.push(bi);
两者之间的区别:
第一个直接推送到可观察数组内部的数组。 这行得通,但是淘汰赛将无法告诉您某些更改...
第二个使用ko.observableArray
内部的push
方法。 此push
方法再次推入内部数组,但它也调用valueHasMutated
。 这将触发更新模型和UI所需的依赖项更新。
更新了小提琴 ,其中已删除()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.