0

我有一个绑定到 view 的 javascript 对象(viewModel)。我正在从 server 获取它的新版本(newViewModel)。(您可以想象此时的股市价格应用)

我不想绑定 newViewModel,因为我不想丢失旧 viewModel 的引用。

所以我需要从服务器响应中更新我现有 javascript 对象的所有属性!

这可能是 javascript 问题,但我的 viewModel 有很多可观察的属性和子属性。(淘汰赛可观察到)

Ps:jQuery 的 $.extend 不起作用。

更新(看起来还可以):

ko.mapping.fromJS(newViewModel,viewModel); 似乎工作..我无法识别它,因为“Vs.Net Intellisense”没有显示它的过载。

我的对象结构非常深刻。如果我看到任何问题,我会通知你。

更新(不起作用):

viewModel.x[] 长度=2

newViewModel.x[] 长度=12

上面的代码将所有 x 替换为新的。(我丢失了 viewModel.x[0],viewModel.x[1] 引用)!!

所以我的 html 与我的对象不同步。viewModel.x[0] 在右侧的篮子中,但
不在左侧的篮子​​中(屏幕)

4

1 回答 1

0

没有什么神奇的方法。因为我需要将旧的数组元素与新闻相匹配。“代码”需要知道数组元素的“键”。

如果我可以在旧数组中找到 newElement,我会访问所有数组元素如果找不到,我会更新 oldElement 的属性,我将 newElement 添加到 oldArray。

痛苦,但我不得不这样做。

于 2012-08-07T10:03:16.523 回答