Knockout表绑定与对象

时间:2013-06-25 20:12:40

标签: javascript jquery knockout.js

我有一个javascript对象,我想使用KnockoutJS绑定到一个表

这是我的目标:

var data = {
  "Warnings": {
    "numbers": 30,
    "content": [
      {
        "number" : 3001,
        "description" : "There may be a problem with the device you are using if you use the default profile"
      },
        {
        "number" : 3002,
        "description" : "There may be a problem with the device you are using if you don't use the default profile"
      }
    ]
  },
  "Errors": {
    "numbers": 20,
    "content": [
      {
        "number": 1000,
        "description": "No network is loaded"
      },
        {
        "number": 1000,
        "description": "No network is loaded"
      }
    ]
  }
};
ko.applyBindings(data);

这是我的HTML代码:

<table class="table table-hover">
    <thead>
       <tr>
           <th style="width:100px">Numero</th>
           <th>Description</th>
       </tr>
    </thead>
    <tbody data-bind="foreach: Warnings.content">
        <tr data-bind="foreach: $data">
            <td data-bind="text: $data.number"></td>
            <td data-bind="text: $data.description"></td>
        </tr>
    </tbody>
</table>

这是一个JSFiddle:http://jsfiddle.net/etiennenoel/KmKEB/

我真的需要将此格式用于我的数据对象。

我不知道为什么我没有在表格中列出警告,因为我没有收到任何错误......

1 个答案:

答案 0 :(得分:2)

您需要额外的foreach。只需移除foreach上的tr即可。 foreach上的tbody会为循环中呈现的每个tr分配$data的新值。