Javascript DependentToServable初始化

Javascript DependentToServable初始化,javascript,knockout.js,Javascript,Knockout.js,据我所知,DependentToServable在声明时进行计算。 但是如果一些价值观还不存在呢 例如: var viewModel ={}; var dependentObservable1 = ko.dependentObservable(function(){ return viewModel.abc; },viewModel); viewModel.abc = 123; 这是一个简单的例子,但您可以在下面的图片上看到一些依赖项的情况 我如何解决这个问题?可能是用定时

据我所知,DependentToServable在声明时进行计算。 但是如果一些价值观还不存在呢

例如:

var viewModel ={};

var dependentObservable1 = ko.dependentObservable(function(){

     return viewModel.abc;

},viewModel);

viewModel.abc = 123;
这是一个简单的例子,但您可以在下面的图片上看到一些依赖项的情况


我如何解决这个问题?可能是用定时器什么的

在创建DependentToServable时,您可以传递一个标志,以推迟计算,直到它被某个对象(如绑定)引用

您可以使用如下对象文字定义DependentToServable:

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