挖空,映射后从视图模型获取 JSON

Knockout, get JSON from View Model after mapping it

本文关键字:模型 获取 JSON 视图 映射 挖空      更新时间:2023-09-26

我从空视图模型开始,然后对数据库中的数据执行 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);

结果是

"{}"

我希望看到带有来自服务器的数据的视图模型,而不是空对象。

你有点困惑,我认为你应该在做 AJAX 加载之前调用 applybindings。

我更新了我的一个旧小提琴来复制您的问题,请查看它,希望对您有所帮助!

http://jsfiddle.net/ingro/Buscp/