dependentObservable初始化

时间:2011-11-14 13:22:33

标签: javascript knockout.js

我知道dependentObservable计算何时被声明。 但是,如果某些价值观不存在呢?

例如:

var viewModel ={};

var dependentObservable1 = ko.dependentObservable(function(){

     return viewModel.abc;

},viewModel);

viewModel.abc = 123;

这是一个简单的例子,但您可以在下面的图片中看到包含一些dependentObservable的情况。

enter image description here

我如何解决这个问题?可能是使用计时器还是什么? jsfiddle

1 个答案:

答案 0 :(得分:2)

在创建dependentObservable时,您可以传递一个标志,以推迟评估,直到它被某些东西引用(如绑定)。

您可以使用对象文字定义您的dependentObservable,如:

var dependentObservable1 = ko.dependentObservable({
    read: function() {
        return viewModel.abc;
    },
    deferEvaluation: true,
    owner: viewModel
});