我知道dependentObservable计算何时被声明。 但是,如果某些价值观不存在呢?
例如:
var viewModel ={};
var dependentObservable1 = ko.dependentObservable(function(){
return viewModel.abc;
},viewModel);
viewModel.abc = 123;
这是一个简单的例子,但您可以在下面的图片中看到包含一些dependentObservable的情况。
我如何解决这个问题?可能是使用计时器还是什么? jsfiddle
答案 0 :(得分:2)
在创建dependentObservable时,您可以传递一个标志,以推迟评估,直到它被某些东西引用(如绑定)。
您可以使用对象文字定义您的dependentObservable,如:
var dependentObservable1 = ko.dependentObservable({
read: function() {
return viewModel.abc;
},
deferEvaluation: true,
owner: viewModel
});