1

ノックアウトビューモデルでマッピングプラグインを使用したい:

var TasksListViewModel = (function () {
    var self = this;
    var GET_PATH = "/Tasks/Index";

    self.loadData = function() {
        $.getJSON(GET_PATH, function (data) {
            ko.mapping.fromJS(data, {}, self);
            setSubscribers();
            setComputed();
            ko.applyBindings(self);            
        });
    };

    self.updateData = function() {
        $.getJSON(GET_PATH,
            {
                page: self.Page()                
            }, function (data) {
            ko.mapping.fromJS(data, TasksListViewModel);
        });
    };

    self.setSubscribers = function() {
        self.Page.subscribe(function (newPage) {            
             self.updateData();
        });       
    };

    self.setComputed = function () {
        self.TotalPages = ko.computed(function () {
            return Math.ceil(self.Total() / self.PageSize());
        });        
    }

    return self;
}());

ただし、サブスクライバーと計算されたオブザーバブルを宣言できるのは、マッピングの後でのみです。それは正しい方法ですか?

4

1 に答える 1