Knockout.observables
by jhoguet
HTML
<script src="http://github.com/downloads/SteveSanderson/knockout/knockout-2.0.0.js"></script>
<div>
<div data-bind="with: viewer" >
<h1>Welcome <span data-bind="text:name" ></span>
</div>
<h2 data-bind="visible: fellowGeeks().length > 0">Fellow Geeks</h2>
<ul data-bind="foreach:fellowGeeks">
<li data-bind="text:name "></li>
</ul>
</div>
</div>
JavaScript
function Person(name){
var self = this;
self.name = ko.observable(name);
}
var viewModel = {
viewer: ko.observable(new Person('angela')),
fellowGeeks : ko.observableArray([new Person('manrique'), new Person('adam'), new Person('charles')]),
addGeek : function(name){
fellowGeeks.push(new Person(name));
}
};
ko.applyBindings(viewModel);
setTimeout(function(){
viewModel.fellowGeeks([]);
}, 500);