据我所知,dependencyObservable计算何时已声明。
但是,如果某些值还不存在怎么办?
例如:
var viewModel ={};
var dependentObservable1 = ko.dependentObservable(function(){
return viewModel.abc;
},viewModel);
viewModel.abc = 123;
这是一个简单的示例,但是您可以在下面的图片中看到带有一些dependentObservable的情况。
我该如何解决这个问题?可能是使用计时器或其他东西吗? jsfiddle
最佳答案
当创建一个dependentObservable时可以传递一个标志,以将评估推迟到被某物(如绑定)引用之前。
您将使用以下对象文字定义您的dependentObservable:
var dependentObservable1 = ko.dependentObservable({
read: function() {
return viewModel.abc;
},
deferEvaluation: true,
owner: viewModel
});
关于javascript - 可观察的初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8122221/