Neir0
Neir0

Reputation: 13377

dependentObservable initialization

As i know dependentObservable calculating when it has been declared. But what if some values doesnt exists yet?

for example:

var viewModel ={};

var dependentObservable1 = ko.dependentObservable(function(){

     return viewModel.abc;

},viewModel);

viewModel.abc = 123;

it's easy example but you can see case with a few dependentObservable on a picture below.

enter image description here

How i can resolve this issue? May be use timer or something? jsfiddle

Upvotes: 0

Views: 465

Answers (1)

RP Niemeyer
RP Niemeyer

Reputation: 114792

There is a flag that you can pass when creating a dependentObservable to defer the evaluation until it is referenced by something (like a binding).

You would define your dependentObservable using an object literal like:

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

Upvotes: 2

Related Questions