【发布时间】:2013-03-31 18:55:06
【问题描述】:
我目前正在尝试分解大部分数据,这些数据由对 .NET Web 服务的 $ajax 调用提供,当数据映射到 Knockout 视图时,这会导致页面上的脚本超时模型。我在文档中注意到您应该能够将多个数据源绑定到一个视图模型,如下所示:
var viewModel = ko.mapping.fromJS(alice, aliceMappingOptions);
ko.mapping.fromJS(bob, bobMappingOptions, viewModel);
我已经在自己的代码中尝试过,如下所示,在第一遍中我绑定到一个新的视图模型,然后在随后的遍中我尝试重新绑定到同一个视图模型:
if(currLoadIndex == 0)
{
currViewModel = ko.mapping.fromJS(data, mappingOptions);
}
else{
ko.mapping.fromJS(data, mappingOptions, currViewModel);
}
但是,当我将它绑定到我的模板时,这只会留下我加载的最后一部分数据。我试过在我的'mappingOptions'中设置一个键,但这没有帮助。任何人都可以看到我做错了什么明显的事情吗?任何帮助将不胜感激。
【问题讨论】:
-
您能否发布一个更完整的视图模型的 jsfiddle,并可能包含您的 Web 服务返回的 JSON 数据示例?通常,每组数据将由 observableArray 或完全独立的视图模型表示,具体取决于您希望如何使用数据。
标签: javascript .net json knockout.js knockout-mapping-plugin