我正在尝试通过 ajax 调用获取一个 json 对象,并将其放入一个淘汰赛 observable 中。
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 图表。
但是图表永远不会填充从调用arnVal
中获得的更新数据。getJSON
我究竟做错了什么?