JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.4.1/knockout.mapping.js"></script>
<button data-bind="click: function(){ alert(diff());console.log(diff()) }">Array itself</button>
<button data-bind="click: check">Inside function</button>
JavaScript
var vm = function(){
var self = this;
self.orig = ko.observableArray([{
somevalue: ko.observable("testst")
}]);
self.diff = ko.observableArray([]);
self.init = function() {
console.log(ko.toJS(self.orig));
self.diff(ko.toJS(self.orig));
}
setTimeout(self.init,2000);
return {
check: function() { alert(self.diff());console.log(self.diff());},
diff: self.diff
}
}
ko.applyBindings(new vm())