我想通過ajax調用來獲取json對象,並將其放入knockout observable中。如何將異步調用返回的Json數據正確綁定到knockout observableArray
var self = this;
this.arnVal = ko.observableArray([]);
var promise = $.getJSON('../../url/to/my/api');
promise.done(function(data) {
console.log(data);
console.log(data["metricValues"]);
self.arnVal().push(data["metricValues"]);
console.log(self.arnVal());
});
函數調用promise.done()
函數調用中的控制檯日誌可以正確打印預期值。也就是說,我正在綁定它的Oracle Jet組件所預期的數據格式正確。
此代碼位於Knockout組件javascript文件中,我將其用作其他位置的HTML文件作爲Knockout組件的一部分。 在組件的HTML文件中,我使用arnVal
來填充Oracle Jet圖表。
但是該圖表從未填充從getJSON
調用獲得的更新的arnVal
數據。
我在做什麼錯?