我想使用类似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
是name
和lastLogin
,但我需要一个解决方案,是不可知的什么是包含内部props
。
我也有这个FIDDLE去。
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>
是道具的数量总是2或者他们可以彼此之间有什么不同? – 2013-02-14 11:20:09