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);