我正在使用 knockoutjs,并且正在尝试从 JSON 数据填充 ViewModel 实例。根据 knockoutjs 文档,我可以使用以下语句:
ko.mapping.fromJS(data, viewModel);
这是我的代码:
var pledgeVM=function(){
this.name=ko.observable();
this.Assets=ko.observableArray([]);
this.StartEdit=function(assetModel){
};
};
pledge = {"name":"Moses","Assets":[{"CityId":13,"commetns":null},{"CityId":14,"commetns":null}]};
var pledgeVMinstance=new pledgeVM();
ko.mapping.fromJS(pledge,pledgeVMinstance);
出于某种原因,数据未填充(pledgeVMinstance.name()
未定义),除非我将语句更改为:
ko.mapping.fromJS(pledge,{},pledgeVMinstance);
也许有人可以解释我为什么事情会这样。