knockout computed实例

function Privilege(options) {
    var self = this;
    self.fieldId = options.fieldId;
    self.readAccessType = ko.observable(options.readAccess);
    self.writeAccessType = ko.observable(options.writeAccess);
    self.readAccess = ko.computed({
        read: function () {
            return this.readAccessType() == 1;
        },
        write: function (value) {
            if (value == true) {
                this.readAccessType(1);
            } else {
                this.readAccessType(2);
            }
        },
        owner: this
    });
    self.readDeny = ko.computed({
        read: function () {
            return this.readAccessType() == 0;
        },
        write: function (value) {
            if (value == true) {
                this.readAccessType(0);
            } else {
                this.readAccessType(2);
            }
        },
        owner: this
    });

    self.writeAccess = ko.computed({
        read: function () {
            return this.writeAccessType() == 1;
        },
        write: function (value) {
            if (value == true) {
                this.writeAccessType(1);
            } else {
                this.writeAccessType(2);
            }
        },
        owner: this
    });
    self.writeDeny = ko.computed({
        read: function () {
            return this.writeAccessType() == 0;
        },
        write: function (value) {
            if (value == true) {
                this.writeAccessType(0);
            } else {
                this.writeAccessType(2);
            }
        },
        owner: this
    });
    return self;
}

 

posted @ 2013-08-13 19:49  bluthly  阅读(400)  评论(0编辑  收藏  举报