javascript - knockout 映射——将多个数据源整合到一个 View 模型中

标签 javascript .net json knockout.js knockout-mapping-plugin

我目前正在尝试分解一大段数据,这些数据是由对 .NET 网络服务的 $ajax 调用提供的,当数据映射到 Knockout View 时,这会导致页面上的脚本超时模型。我在文档中注意到您应该能够将多个数据源绑定(bind)到一个 View 模型,如下所示:

var viewModel = ko.mapping.fromJS(alice, aliceMappingOptions);
ko.mapping.fromJS(bob, bobMappingOptions, viewModel);

我已经在我自己的代码中尝试过这个,如下所示,在第一次传递时我绑定(bind)到一个新的 View 模型,然后在后续传递中我尝试重新绑定(bind)到相同的 View 模型:

if(currLoadIndex == 0)
{
    currViewModel = ko.mapping.fromJS(data, mappingOptions);
}
else{
    ko.mapping.fromJS(data, mappingOptions, currViewModel);
}

但是,当我将它绑定(bind)到我的模板时,这只给我留下了我加载的最后一部分数据。我试过在我的“mappingOptions”中设置一个键,但这没有帮助。有人能看出我做错了什么吗?任何帮助将不胜感激。

最佳答案

可能不是最好的解决方案,但这解决了我的问题:

if(currLoadIndex == 0)
{
     currViewModel = ko.mapping.fromJS(data, mappingOptions);
}
else{
     var tmpModel = ko.mapping.fromJS(data, mappingOptions);
     for(i = 0; i < tmpModel.GetProductListResult().length; i++)
     {
         currViewModel.GetProductListResult().push(tmpModel.GetProductListResult()[i]);
     }
}

关于javascript - knockout 映射——将多个数据源整合到一个 View 模型中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15900333/

相关文章:

javascript - 在Chrome native 消息传递中: how long is the native app instance object lifetime?

c# - SQLite 数据库连接有哪些附加配置信息?

json - FreeText 搜索用例中的嵌套内部命中

javascript - 代码在 Fiddle 上运行但不在网站上运行

c# - 使用文件上传 AJAX 发送帖子数据

c# - 如何在客户端和服务器端设置jsonp

json - Swift 从函数完成中获取值并将其设置为全局变量

javascript - 使用 javascript 从实时数据更新 json 数组

javascript - 区域缺失错误 - AWS Amplify React

c# - .NET 中角色的权限