我有一個javascript對象(viewModel)綁定到視圖。我從服務器獲取新版本(newViewModel)。 (你可以想象股票市場價格應用在這一點)更新一個深度結構化的JavaScript對象從另一個knockout.js
我不想綁定newViewModel,因爲我不想鬆散舊的viewModel的參考。
所以我需要從服務器響應更新我現有的JavaScript對象的所有屬性!
這可能是javascript問題,但我的viewModel有這麼多可觀察的屬性和子屬性。 (淘汰賽的可觀察)
Ps:jQuery的$ .extend不起作用。
被更新(這似乎OK):
ko.mapping.fromJS(newViewModel,視圖模型);似乎工作..我無法識別它,因爲「Vs.Net Intellisense」沒有顯示它的重載。
我的對象結構非常深。如果我看到任何問題,我會通知你。
修訂版(不工作):
viewModel.x []長度= 2
newViewModel.x []長度= 12
上述代碼替換以新的所有的x。 (我失去了viewModel.x [0],viewModel.x [1]引用)!!
所以我的html不與我的對象同步。 viewModel.x [0]在右側的籃子裏,但它
不在籃子裏的左側(屏幕)
我認爲「Mapping」插件就是您要找的內容:knockoutjs.com/documentation/plugins-mapping.html – Niko 2012-08-06 22:29:43