我正在使用嵌套的ViewModel-Objects和KnockoutJS,并使用它遇到烦人的麻烦。假设你有一个这样的嵌套模型:
-Totals(所有客户端的一些累计,包含ClientsContainer数组,~10个计算可观察量)
-ClientContainer(所有客户端MoneyAccounts的总计,包含MoneyAccounts数组,~10个计算可观察量)
- MoneyAccounts(所有AccountPositions的总计,包含AccountPositions数组,~25个计算可观察量)
---- AccountPositions(~25个计算可观察量,~25个计算可观察量)
我从JS结构映射了viewModel(35个ClientsContainer,每个Client Container包含大约10个MoneyAccount,每个MoneyAccount包含大约2个位置)
首先,我发现AccountPositions上的ComputedObservables在初始化后没有刷新。所以,我必须在每个ComputedFunction中使用dummyObservable强制刷新,然后调用knockouts notifySubscribers() - Function。
似乎这种方法在性能方面非常昂贵,即使我在整个ViewModel上只有大约700个AccountPosition(这不是那么多......)。我不得不推迟500 Millisecons的每次刷新调用,以防止浏览器完全挂断。即使是现在,我的浏览器也非常不堪重负。渲染我的数据表需要大约15分钟,这绝对应该加载得更快..
我在这里缺少什么?是否有"技术"加载/初始化嵌套的ViewModel结构更快?或者Knockout根本无法管理具有出色性能的数据集?
提前致谢