function ViewModel() { var self = this; self.firstName = ko.observable(""); self.lastName = ko.observable(""); self.fullName = ko.observable(""); self.fullNamePure = ko.observable(""); self.tempFullName = ko.computed(function () { var value = self.firstName() + " " + self.lastName(); self.fullName(value); return value; }); self.tempFullNamePure = ko.pureComputed(function () { var value = self.firstName() + " " + self.lastName(); self.fullNamePure(value); return value; }); }; ko.applyBindings(new ViewModel());
<input type="text" data-bind="textInput: firstName" /> <input type="text" data-bind="textInput: lastName" /> <hr /> ko.computed : <span data-bind="text: fullName"></span> <br /> ko.pureComputed : <span data-bind="text: fullNamePure"></span>