Knockout ForEach和Observable Array

时间:2013-12-19 16:14:27

标签: knockout.js foreach ko.observablearray

在我的视图模型中,我有以下代码更新数组。

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());



       }
});


<tbody data-bind="foreach: notesTable" >
                        <tr>
                            <td data-bind="text: Note_Number"></td>

在我的HTML中,我对每个语句都有上述内容。我的问题是,当我记录notesTable时,它显示以下内容。但我的每个都没有更新,并说没有定义注意数字?

[Array[7]]
0: Array[7]
0: Object
Note_Date: "7/31/2008 12:00:00 AM"
Note_Number: "27753"
Note_Resolved: "True"
Note_Resolved_Date: "4/14/2009 12:00:00 AM"
Note_Text: "SENT INVOICE COPIES TO MARTY 7/8/08"
Note_Time: "11:17:23"
Note_User: "RUSSA  

1 个答案:

答案 0 :(得分:0)

你真的没有在这里成功。你有一个包含对象数组的数组。你应该运行一个循环来将对象推入observable,否则你需要查看数组[0] [0]然后查看该对象。

我建议从第一个数组中取出所有内容并放入可观察数据中。

也许有更好的方法可以一起解决这个问题,但我还没有真正想过它,只是回答手头的问题。