kb.Observable
Used to generate a single observable for a model's attribute
Example:
ContactViewModel = (model) ->
@name = kb.observable(model, 'name')
@number = kb.observable(model, {key:'number', read_only: true})
@
model = new Contact({name: 'Ringo', number: '555-555-5556'})
view_model = new ContactViewModel(model)
var ContactViewModel = function(model) {
this.name = kb.observable(model, 'name');
this.number = kb.observable(model, { key: 'number', read_only: true });
};
var model = new Contact({
name: 'Ringo',
number: '555-555-5556'
});
var view_model = new ContactViewModel(model);
kb.observable(model, mapping_info, [owner]) factory
Used to create a new instance
Parameters- model:{ Backbone.Model }:the model whose attributes will be synchronized
- mapping_info: optional
- read{ function() }:
- write{ function(value) }:
- read_only{ boolean }:
- localizer{ constructor(value) }:
- default{ function() or value }:
- owner: optional required if you need the view model as "this" in your read or write methods
Example:
name = kb.observable(model, 'name')
var name = kb.observable(model, 'name');
constructor(model, mapping_info, [owner]) observable returned
Used to create a new instance
Parameters- model:model:{ Backbone.Model }:the model whose attributes will be synchronized
- mapping_info: optional
- read{ function() }:
- write{ function(value) }:
- read_only{ boolean }:
- localizer{ constructor(value) }:
- default{ function() or value }:
- owner: optional required if you need the view model as "this" in your read or write methods
Example:
name = new kb.Observable(model, 'name')
var name = new kb.Observable(model, 'name');
destroy()
Used to release the memory of the object
setToDefault()
Used to return all of the owned observables to their default values (if they exist)
Example:
model = Backbone.Model({name: 'Bob'})
name = kb.observable(model, {key:'name', default: '(none)'})
# name is Bob
name.setToDefault()
# name is (none)
var model = Backbone.Model({name: 'Bob'});
var name = kb.observable(model, {key:'name', default: '(none)'});
// name is Bob
name.setToDefault();
// name is (none)