Async anonym object binding
in KO
by Salmin Skenderovic
HTML
<label>syncObj: </label><span data-bind="text: ko.toJSON(syncObj)"></span>
<br>
<label>syncStr: </label><span data-bind="text: ko.toJSON(syncStr)"></span>
<br>
<br>
<label>aSyncObj: </label><span data-bind="text: ko.toJSON(aSyncObj)"></span>
<br>
<label>aSyncStr: </label><span data-bind="text: ko.toJSON(aSyncStr)"></span>
<br>
<br>
<label>knownAsyncObject: </label><span data-bind="text: ko.toJSON(knownAsyncObject)"></span>
<br>
JavaScript
function ViewModel() {
var self = this;
self.syncObj = ko.observable({});
self.syncStr = ko.observable("");
self.aSyncObj = ko.observable({});
self.aSyncStr = ko.observable("");
self.knownAsyncObject = ko.observable({});
var key = "whatever";
var value = "dick";
var setSync = (function setSync() {
self.syncObj()[key] = value;
self.syncStr(value);
})();
var setAsync = (function setAsync() {
setTimeout(function(){
var solution = {};
solution[key] = value;
self.aSyncObj(solution);
//How do we set key?
self.knownAsyncObject
self.aSyncStr(value);
}, 1000);
})();
}
var vm = new ViewModel();
ko.applyBindings(vm);