Sync: pureComputed

by Jakub Jedryszek

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-debug.js"></script>
<input type="text" data-bind="value: name1" /><span data-bind="text: name1"></span>
<br />
<input type="text" data-bind="value: name2" /><span data-bind="text: name2"></span>
<br />
<span data-bind="text: sync"></span>

JavaScript

var ViewModel = function () {
    self = this;
    this.name1 = ko.observable("");
    this.name2 = ko.observable("");
    this.sync2 = ko.pureComputed(function () {
        var n1 = self.name1();
        self.name2(n1);
        console.log("updated2");
    });
    this.sync = ko.pureComputed(function () {
        var n2 = self.name2();
        self.name1(n2);
        console.log("updated1");
    });
};

var vm = new ViewModel();
ko.applyBindings(vm);