2

空のビュー モデルから始めて、データベースからのデータに対して 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が表示されることを期待していました。

4

1 に答える 1

0

少し混乱しました。AJAX の読み込み処理を行う前に、applybindings を呼び出す必要があると思います。

古いフィドルの 1 つを更新して、問題を再現しました。チェックしてみてください。お役に立てば幸いです。

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

于 2012-06-27T10:07:19.743 に答える