我有一个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