0

我想在构造时防止同步器属性,因为我可以将persistedObject 发送到X 类。

    function X(persistanceObject) {
        var self = this;

        self.xid = -1;
        self.syncer = ko.computed(function () {
            // if  object construction in progress then return 

            // persist properties....
        }, self);
        self.y = ko.observable(43);

        if (typeof persistanceObject !== 'undefined') {
            ko.mapping.fromJS(persistanceObject, {}, self.y);
        }
    }
4

1 回答 1

2

deferEvalaution您可以通过使用该选项来防止计算的 observable 立即评估。

它看起来像:

self.syncer = ko.computed(function () {
            // if  object construction in progress then return 

            // persist properties....
}, self, { deferEvaluation: true });

现在它不会评估,直到它的值被访问。self.syncer()如果您没有在您的 UI 中绑定它,那么您可能希望在所有属性都准备好之后至少调用一次 ( )。

于 2012-07-25T13:19:21.790 回答