Как использовать нокаут, чтобы перебрать объект (не массив)
Я хочу использовать нечто подобное конструкции foreach Knockout для итерации по свойствам объекта. Вот что я пытаюсь создать ...
ЖЕЛАЕМЫЙ РЕЗУЛЬТАТ
<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>