populate observableArray from AJAX call

https://groups.google.com/d/topic/knockoutjs/ruNTZWtvhDE/discussion

by Leonardo Trimarchi

HTML

<script src="http://knockoutjs.com/downloads/knockout-2.1.0.debug.js"></script>
<table>
    <tbody data-bind="foreach: items">
        <tr>
            <td data-bind="text: name"></td>
        </tr>
    </tbody>
</table>
<button data-bind="click: clear">Clear</button>
<button data-bind="click: update">Update</button>

CSS

th, td { padding: 2px; border: solid 1px black; }

JavaScript

var data = [
    { name: "one" },
    { name: "two" },
    { name: "three" }    
];

var viewModel = {
    items: ko.observableArray(data),
    clear: function() {
       this.items([]);
    },
    update: function() {
       this.items(data.splice(0));   
    }
};

ko.applyBindings(viewModel);