knockout.wrap

Wrap a function and notify any subscribers when any observables inside have changed

npm install knockout.wrap
4 downloads in the last month

knockout.wrap

Wrap a function and notify any subscribers when any observables inside have changed.

(Basically a ko.computed that doesn't actually calculate on change)

Example

var a = ko.observable(2),
    b = ko.observable(2);

function expensiveOperation() {
  console.log(a() + b());
}

var wrapped = ko.wrap(expensiveOperation);
wrapped.subscribe(function() {
  console.log('time to update');
});

// Call first time to identify dependencies
wrapped() // -> 4

// Some inside dependency updates, notify subscribers
a(3);     // -> time to update

// Don't call expensive operation unless explicitly called
wrapped() // -> 5

About

  • Author: Tim Hall
  • License: MIT
  • Dependencies: knockout
npm loves you