我从空视图模型开始,然后对数据库中的数据执行 ajax 请求。收集的数据我使用 Knockout.Mapping 插件映射到视图模型。像这样:
var myName = new function(){
this.viewModel = {};
var getData = function () {
var mapping = {
'Members': {
create: function (options) {
return new UserMode(options.data);
}
}
}
$.ajax({
url: 'api/board',
data: $.param({"BoardId": 1}),
dataType: 'json',
success: function (data, textStatus, jqXHR) {
this.viewModel = ko.mapping.fromJS(data, mapping);
ko.applyBindings(this.viewModel);
},
});
}
};
然后我在 Chrome 中打开一个 JavaScript 控制台并输入:
ko.toJSON(myName.viewModel);
结果是
"{}"
我希望看到带有来自服务器的数据的 viewModel,而不是空对象。