在最后一天,我一直在摸不着头脑。希望有人能说清楚。我有一个简单的javascript对象 - 数据 - JSON.stringify(data)像这样返回它;
{
"dataList": [
{
"Id": 0,
"Name": "0",
},
{
"Id": 1,
"Name": "1",
}
]
}
我也有一个非常简单的淘汰视图模型;
var viewModel = {
dataList: ko.observableArray([])
};
然后我按照doc站点进行简单的knockout.JS映射调用;
ko.mapping.fromJS(data, viewModel);
我希望我的viewModel现在有一个dataList成员(它确实),它是一个2的数组(它不是!)。相反,我得到一个空数组..我在映射中缺少什么?
答案 0 :(得分:2)
您不需要在viewModel对象上定义属性;映射插件将为您创建它们。只需声明viewModel:
var viewModel = ko.mapping.fromJS(data);
当您需要使用来自服务器的更新数据更新您的viewModel时,您只需拨打另一个电话ko.mapping.fromJS(data, viewModel)
。