knockoutjs映射插件更新复杂对象

时间:2015-08-12 15:18:48

标签: javascript jquery asp.net-mvc knockout.js

我有一个自定义对象的以下映射

var mapping = {

    'At': {
        create: function (options) {
            debugger
            return new myAt(options.data);
        }
    }
}

以下是自定义对象

var myAt = function (data) {
    ko.mapping.fromJS(data, {}, this);
    var self = this;
    this.AddOthRev = function (index) {
        var cpy = new myRevEx({ Desc: '', Y1: '', Y2: '', Y3: '', Y4: '', Y5: '',Total:'' });
        this.OthRevLst.push(cpy);
    }

    this.RemoveOthRev = function (index) {
        self.OthRevLst.remove(index);
    }


    this.ShowCustFi = function (index) {

        viewModel.At().forEach(function (item) {
            item.ActiveTab(false);
        });

        index.ActiveTab(true);
        $('#myModal').modal('show');
    }


    this.TotalPrcnt = ko.pureComputed({
        read: function () {
            return this.EqtyPrcnt() + this.EtfPrcnt();
        },
        write: function (value) { this.TotalPrcnt(value); },
        owner: this
    });
}

var viewModel = ko.mapping.fromJS(data, mapping);

直到这一切正常......

现在我想用来自服务器的数据JSON数据更新此viewmodel。我不知道我是如何使用自定义映射做到的。

我正在做ko.mapping.fromJS(data, mapping, viewModel);,但这会引发一些错误。

0 个答案:

没有答案