Knockout.js 使用可观察数组时按属性跟踪

Knockout.js 使用可观察数组时按属性跟踪,knockout.js,Knockout.js,是否可以像在angular和其他一些框架中一样,以某种方式将track by指令添加到knockout foreach绑定中 我有一个实时应用程序使用击倒建成。使用websocket接收数据,然后使用knockout呈现数据。为了简化业务逻辑,我希望将websocket接收到的数据更新合并到现有数据中,然后将该数据一起传递给knockout。在大多数情况下,没有新元素 在这种情况下,knockout会重新呈现整个列表,还是知道相应的DOM元素已经存在?如果没有指令跟踪,我想不出任何方法来检测这个

是否可以像在angular和其他一些框架中一样,以某种方式将track by指令添加到knockout foreach绑定中

我有一个实时应用程序使用击倒建成。使用websocket接收数据,然后使用knockout呈现数据。为了简化业务逻辑,我希望将websocket接收到的数据更新合并到现有数据中,然后将该数据一起传递给knockout。在大多数情况下,没有新元素

在这种情况下,knockout会重新呈现整个列表,还是知道相应的DOM元素已经存在?如果没有指令跟踪,我想不出任何方法来检测这个

在这种情况下,knockout会重新呈现整个列表,还是知道相应的DOM元素已经存在


只要更新现有的
observable
s,并将新元素推入
observable array
s而不更改整个数组,Knockout将只重新呈现更新的/新元素,是的。

No我想重新生成数组,并将新值传递给Knockout。啊,我明白了。在这种情况下,是的-它将重新渲染所有内容。理想情况下,您希望在必要时更新现有内容,而不是完全替换。您应该在viewmodel的核心使用knockout,而不仅仅是作为渲染设备。请针对您的情况发布一个复制/代码。我想复制品本身会回答你可能提出的问题。