Javascript 显示剔除可观察数组的内容

Javascript 显示剔除可观察数组的内容,javascript,arrays,knockout.js,Javascript,Arrays,Knockout.js,大家好,我是java脚本敲除框架的新手,我想使用敲除显示数组的内容,实际上我想使用ajax从数据库检索这些内容,但我决定从更简单的内容开始,如下所示: $(document).ready(function() { function requestViewModel() { this.branchName = ko.observable(); this.allItems = ko.observableArray({items:[{orderI

大家好,我是java脚本敲除框架的新手,我想使用敲除显示数组的内容,实际上我想使用ajax从数据库检索这些内容,但我决定从更简单的内容开始,如下所示:

$(document).ready(function() {

      function requestViewModel() {

          this.branchName = ko.observable();
          this.allItems = ko.observableArray({items:[{orderItemId:1,
                description:"Chocolate",
                unitCost:8.50,
                quantity:10,
                total:84.0},
                {orderItemId:2,
                description:"Milk",
                unitCost:5.0,
                quantity:10,
                total:50.0},
                {orderItemId:3,
                description:"Sugar",
                unitCost:10.0,
                quantity:20,
                total:200.0}]});

          };

      ko.applyBindings(new requestViewModel()); 

});
……这是我的HTML

 Branch Name:   <input type="text" name = "branchName">

<br><br><br><br>

 <table>
    <thead>
        <tr><th>Item id</th><th>Description</th><th>Unit Cost</th><th>Quantity</th><th>Total</th></tr>
    </thead>
    <tbody data-bind="foreach: items">
        <tr>
            <td data-bind="text: orderItemId"></td>
            <td data-bind="text: description"></td>
            <td data-bind="text: unitCost"></td>
            <td data-bind="text: quantity"></td>
            <td data-bind="text: total"></td>
        </tr>
    </tbody>
</table>
分支机构名称:




项目ID说明单位成本数量总计
请帮助我,因为我得到一个错误:


“错误:初始化可观察数组时传递的参数必须是数组、null或未定义。”

错误说明了一切。您需要传入数组而不是对象,如下所示:

this.allItems = ko.observableArray([{orderItemId:1,
            description:"Chocolate",
            unitCost:8.50,
            quantity:10,
            total:84.0},
            {orderItemId:2,
            description:"Milk",
            unitCost:5.0,
            quantity:10,
            total:50.0},
            {orderItemId:3,
            description:"Sugar",
            unitCost:10.0,
            quantity:20,
            total:200.0}]);

请注意删除了
{items:
}

如果您使用的是Chrome进行开发,您可以使用非常方便的Knockout上下文扩展:谢谢jeremy。。。我很懒哈。。。!