JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://knockoutjs.com/downloads/knockout-2.3.0.debug.js"></script>
<div data-bind="text: ko.toJSON($root)"></div>
<p>
<input type="text" data-bind="value: value" />
<br/>timeStamp1:<span data-bind="text: timeStamp1"></span>
<br/>timeStamp2:<span data-bind="text: timeStamp2"></span>
JavaScript
function VM(){
var self = this;
self.logged = false;
self.valueInstance = ko.observable();
self.value = ko.computed({
read: function () {
return self.valueInstance();
},
write: function (value) {
self.valueInstance(value);
},
deferEvaluation: true
});
self.timeStamp1 = ko.observable();
self.value.subscribe(function (newValue) {
if(self.logged)
self.timeStamp1(new Date());
});
self.timeStamp2 = ko.observable();
self.valueInstance.subscribe(function (newValue) {
if(self.logged)
self.timeStamp2(new Date());
});
}
var vm = new VM();
ko.applyBindings(vm);
vm.logged = true;