据我所知,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/

10-09 17:48