Knockout.js 从数据源提取时仅更新ObservalArray中已更改的项

Knockout.js 从数据源提取时仅更新ObservalArray中已更改的项,knockout.js,polling,knockout-2.0,Knockout.js,Polling,Knockout 2.0,我在做什么:每30秒轮询一次远程数据源以获取数据。 然后我做self.MyCollection(newData) 我的问题:由于我可能已在UI中过滤了数组或扩展了特定的数组项,我不希望它每30秒重置一次 我只想在项目实际更改时更新和重新渲染ObservalArray 有人知道如何避免在基础ObservalArray发生更改时重置ui吗?或者,当只有一个或更少的基础项发生更改时,如何避免整个ObservalArray发生更改?我不知道您到底想做什么,但官方的knockoutjs文档描述了一个类似的

我在做什么:每30秒轮询一次远程数据源以获取数据。 然后我做
self.MyCollection(newData)

我的问题:由于我可能已在UI中过滤了数组或扩展了特定的数组项,我不希望它每30秒重置一次

我只想在项目实际更改时更新和重新渲染ObservalArray


有人知道如何避免在基础ObservalArray发生更改时重置ui吗?或者,当只有一个或更少的基础项发生更改时,如何避免整个ObservalArray发生更改?

我不知道您到底想做什么,但官方的knockoutjs文档描述了一个类似的问题:

在“使用“更新”自定义对象更新”部分中

还可以通过指定 更新回调。它将接收它试图更新的对象,并 一个选项对象,与创建所使用的对象相同 回拨


我不知道您到底想做什么,但官方的knockoutjs文档描述了一个类似的问题:

在“使用“更新”自定义对象更新”部分中:

还可以通过指定 更新回调。它将接收它试图更新的对象,并 一个选项对象,与创建所使用的对象相同 回拨


我通过简单地迭代ObservalArray中的项目来解决这个问题,并更改了值(这些值本身就是可观察的)。这只更新了列表中的
  • ,而不是整个
      我通过简单地迭代observableArray中的项目来解决这个问题,并更改了值(这些值本身就是可观察的)。这只更新了列表中的
    • ,而不是整个

      我还没有时间测试这个解决方案。我将不得不在我的空闲时间回来做这件事,如果有人尝试过这件事并说它有效,我将接受答案。在使用UI时,我放弃了更新基础ObservalArray的想法。我还没有时间测试这个解决方案。我将不得不在我的空闲时间回来做这件事,如果有人尝试过这件事并说它有效,我将接受答案。我放弃了在使用UI时更新基础ObservalArray的想法。