使用Knockout.JS 3.0,我试图创建一个可观察的数组,然后在我的SelectedCustomer.subscribe函数中更新该数组。我的变量注释加载很好,这是它在我的控制台日志中返回的内容:[Array [7]]但是当我记录我的observableArray notesTable时它只记录[]。基本上,我有一个foreach绑定,它基于数组创建一个表,并且它没有加载任何数据。
self.notesTable = ko.observableArray();
self.SelectedCustomer.subscribe(function () {
var x = document.getElementById('customerselect').value;
if (x != "Select A Customer") {
var notes = GetNotes(x);
console.log("notes =");
console.log(notes);
self.notesTable(notes);
console.log(self.notesTable);
}
});
答案 0 :(得分:0)
正如评论所示 - 您需要将其称为console.log(self.notesTable())
;
ko.obervableArray
的文档没有明确说明这一点 - http://knockoutjs.com/documentation/observableArrays.html
此处列出的ko.observable
文档暗示了这一点 - http://knockoutjs.com/documentation/observables.html#reading_and_writing_observables