Knockout foreach コンストラクトに似たものを使用して、オブジェクトのプロパティを反復処理したいと考えています。これが私が作成しようとしているものです...
望ましい結果
<table>
<tr>
<td>Name 1</td>
<td>8/5/2012</td>
</tr>
<tr>
<td>Name 2</td>
<td>2/8/2013</td>
</tr>
</table>
しかし、私のモデルはこのように見えます...
JS
function DataModel(){
this.data = ko.observableArray([{
entityId: 1,
props: {
name: 'Name 1',
lastLogin: '8/5/2012'
}
},
{
entityId: 2,
props: {
name: 'Name 2',
lastLogin: '2/8/2013'
}
}]);
}
var dataModel = new DataModel();
ko.applyBindings(dataModel);
各行には、オブジェクト自体である entityId と props があります。このテンプレートは機能しませんが、上記の目的のテーブルを生成するにはどうすれば変更できますか?
編集:props
この例の はname
とlastLogin
ですが、 の内容にとらわれない解決策が必要ですprops
。
私はこのフィドルも行っています。
HTML
<div data-bind="template: { name: 'template', data: $data }"></div>
<script type="text/html" id="template">
<table>
<tr data-bind="foreach: data()">
<td data-bind="text: entityId"></td>
</tr>
</table>
</script>