Knockback.js API and Usage Examples

kb.TriggeredObservable

Used to recalculate a value when model's attribute changes value

Example:

trigger_count = 0
model = new Backbone.Model()

view_model =
  triggered_observable: kb.triggeredObservable(model, 'change')
view_model.counter = ko.dependentObservable(->
  view_model.triggered_observable() # add a dependency
  return trigger_count++
)

model.set(name: 'bob')      # trigger_count: 1
model.set(name: 'george')   # trigger_count: 2
model.set(last: 'smith')    # trigger_count: 3
var trigger_count = 0;
var model = new Backbone.Model();

var view_model = {
  triggered_observable: kb.triggeredObservable(model, 'change')
};
view_model.counter = ko.dependentObservable(function() {
  view_model.triggered_observable() // add a dependency
  return trigger_count++
});

model.set(name: 'bob');       # trigger_count: 1
model.set(name: 'george');    # trigger_count: 2
model.set(last: 'smith');     # trigger_count: 3

kb.triggeredObservable(model, event_name) factory

Used to create a new instance

Parameters
  1. model:{ Backbone.Model }:the model to bind to
  2. event_name:{ string }:a key to bind to changes on for Backbone.Events

Example:

triggered_observable = kb.triggeredObservable(name, 'change')
var triggered_observable = kb.triggeredObservable(name, 'change');

constructor(model, event_name) observable returned

Used to create a new instance

Parameters
  1. model:{ Backbone.Model }:the model to bind to
  2. event_name:{ string }:a key to bind to changes on for Backbone.Events

Example:

triggered_observable = new kb.TriggeredObservable(name, 'change')
var triggered_observable = new kb.TriggeredObservable(name, 'change');

destroy

Used to release the memory of the object