Knockout Observable Array未更新

时间:2013-12-19 15:53:52

标签: javascript knockout.js ko.observablearray

使用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);

      }
});

1 个答案:

答案 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