KO with to refresh data

by Jorge Bustos Pereda

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-debug.js"></script>
<div data-bind="with: person">
    Name: <span data-bind="text:name"></span>
    Age: <span data-bind="text:age"></span>
</div>
<input type="button" value="Load Peter" data-bind="click: loadPeter"/>

JavaScript

var vm = (function() {
    var person = ko.observable({ 
        name:'John', 
        age: 21 });
    var loadPeter = function() {
        person({name: 'Peter', age: 54})
    };
    return {
        person: person,
        loadPeter: loadPeter
    }
})();

ko.applyBindings(vm);