繁体   English   中英

Knockout.js可观察对象绑定的可观察数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM