1

AJAX 経由でサーバーから受信している JSON モデルのリストがあります。

モデルを JavaScript の関数として再定義する必要もありません。

以下を行う必要がないようにするにはどうすればよいですか?ただし、すべてのモデル プロパティを監視できるようにしたいと考えています。

function Car(car) {

    this.Name = ko.observable(car.Name);
    this.Type = ko.observable(car.Type);
    this.Rating = ko.observable(car.Rating);
    this.Color = ko.observable(car.Color);
}

var ViewModel = function () {

    var self = this;
    self.cars = ko.observableArray([]);

    $.post('/car/getall', function (cars) {

        var carsKO= [];
        $.each(cars, function (i, elm) {

            carsKO.push(new Car(elm));
        });

        self.cars(carsKO);
    });
};

ko.applyBindings(new ViewModel());

Knockout Mapping プラグインについて話題になっています。しかし、それが以下とどのように違うのかわかりませんか? この時点では、モデルのプロパティを観察できません。

var ViewModel = function () {

    var self = this;
    self.cars = ko.observableArray([]);

    $.post('/car/getall', function (cars) {

        self.cars(cars);
    });
};

ko.applyBindings(new ViewModel());
4

1 に答える 1