Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用ko.mapping-Knockout更新Javascript对象中的属性?_Javascript_Knockout.js_Mapping - Fatal编程技术网

如何使用ko.mapping-Knockout更新Javascript对象中的属性?

如何使用ko.mapping-Knockout更新Javascript对象中的属性?,javascript,knockout.js,mapping,Javascript,Knockout.js,Mapping,假设我们有以下对象: var gridViewModelJs = {"GridViewModel":{"Rows":[{"RowNumber":"1","Id":"6","Name":"FullNameOfUser","NumberOfUsers":"12","RegistrationDate":"10/15/2013"}],"FoundItems":"4","CurrentPage":1,"TotalPages":1,"ItemsPerPage":50,"PagingLinks":"

假设我们有以下对象:

var gridViewModelJs = 
    {"GridViewModel":{"Rows":[{"RowNumber":"1","Id":"6","Name":"FullNameOfUser","NumberOfUsers":"12","RegistrationDate":"10/15/2013"}],"FoundItems":"4","CurrentPage":1,"TotalPages":1,"ItemsPerPage":50,"PagingLinks":""}, 
    "EntityModel":{"Id":0,"PermissionIds":null,"Name":null,"NumberOfUsers":0,"PersianRegistrationDate":null,"RegistrationDate":"0001-01-01T00:00:00","Authorizations":null,"Users":null,"Contents":null}};
var KoEntityViewModel = ko.mapping.fromJS(gridViewModelJs);
ko.applyBindings(KoEntityViewModel);
上述代码用于更新KoEntityViewModel。我使用了以下代码:

// receivedData is data that returns from jQuery Ajax
// I'm dead sure `receivedData` is correct
var doneFunc = function (receivedData) {
    ko.mapping.fromJS(receivedData, KoEntityViewModel.EntityModel);
    showDetailsBlock();
};
但是在
KoEntityViewModel.EntityModel
中没有任何更新。
请指导我如何更新上述示例中的
KoEntityViewModel.EntityModel
当应用绑定后更新映射时,请使用三个参数:

ko.mapping.fromJS(receivedData, {}, KoEntityViewModel);

应用绑定后更新映射时,请使用三个参数:

ko.mapping.fromJS(receivedData, {}, KoEntityViewModel);

你能再描述一下吗?什么是
data
variable?@Mohammad对不起,我想你的情况应该是
receivedData
{}
用于传递选项。文档在这方面不是很好。抱歉,我不能很好地理解:-(,我应该写什么来代替
{}
,我应该写
EntityModel
什么都不写,就让它空着吧。它是第二个参数的占位符。我发布的代码应该按原样工作。我已经完成了,编写方式是
ko.mapping.fromJS(receivedData,{}),KoEntityViewModel.EntityModel);
你能再描述一下吗?什么是
数据
变量?@Mohammad抱歉,我想你的情况应该是
接收数据
{}
是用来传递选项的。文档在这方面不是很好。对不起,我不太明白:-(,我应该写什么来代替
{}
,如果我写
EntityModel
什么都不写,就让它空着吧。它是第二个参数的占位符。我发布的代码应该可以正常工作。我已经完成了,写的方式是
ko.mapping.fromJS(receivedData,{},KoEntityViewModel.EntityModel);