gpt4 book ai didi

knockout.js - 映射ko.mapping.fromJS时,值为null

转载 作者:行者123 更新时间:2023-12-04 04:50:06 25 4
gpt4 key购买 nike

我正在使用 knockout js,正在尝试从JSON数据填充ViewModel实例。根据 knockout 文档,我可以使用以下语句:

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);

也许有人可以向我解释为什么事情会这样发展。

最佳答案

这是因为ko.mapping.fromJS具有以下签名:

ko.mapping.fromJS(data, mappingOptions, viewModel);

其中 data-是您的json数据, mappingOptions-是映射的说明插件如何映射您的日期, viewModel-是存储映射数据的对象。
ko.mapping.fromJS(data)-此语法将创建 View 模型。
ko.mapping.fromJS(data, mappingOptions)-这将创建具有特定选项的 View 模型。
ko.mapping.fromJS(data, {}, viewModel)-这将转换您的数据而不使用映射选项,并将其放入模型中。

阅读文档以获得更好的理解: http://knockoutjs.com/documentation/plugins-mapping.html

关于knockout.js - 映射ko.mapping.fromJS时,值为null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14336743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com