2012-05-18 90 views
1

我在做什麼:每隔30秒輪詢一次數據的遠程日期來源。 然後我做self.MyCollection(newData);當從數據源提取時,只更新observableArray中的更改項目

我的問題:因爲我可能已過濾數組或擴展UI中的特定數組項,我不希望它每30秒重置一次。

我只想在項目實際更改時更新並重新渲染我的observableArray。

任何人都知道如何避免重置底部observableArray更改時ui - 或 - 如何避免整個observableArray更改時,只有一個或更少的基礎項目更改?

回答

0

我通過簡單迭代observableArray中的項目並更改值(它們本身是可觀察對象)來解決此問題。這隻更新了列表中的<li>,而不是整個<ul>

1

我不知道你想做什麼,但官方knockoutjs文檔描述了一個類似的問題:http://knockoutjs.com/documentation/plugins-mapping.html

關於第Customizing object updating using 「update」

您還可以自定義對象如何通過指定更新一個 更新回調。它將收到它正在嘗試更新的對象,並會收到與創建回調所使用的對象相同的選項對象。

+0

我還沒有時間來測試這個解決方案。我將不得不返回並在我的空閒時間這樣做,如果其他人已經嘗試過這種方式,並說它工作,我會接受答案。我放棄了在使用UI時更新底層observableArray的想法。 – Anders

相關問題