从我在网上找到的内容来看,我认为目前无法使用 foreach 数据绑定来遍历淘汰赛中可观察对象的属性。
如果有人可以帮助我解决我正在尝试做的事情,我将非常感激。
假设我有一系列电影对象:
var movies = [{
title: 'My First Movie',
genre: 'comedy',
year: '1984'
},
{
title: 'My Next Movie',
genre: 'horror',
year: '1988'
},
];
我想做的是将这些数据显示在一个表格中,但对于每种类型的电影都有一个不同的表格。
所以我尝试了这样的事情:
<div data-bind="foreach: movieGenre">
<table>
<tr>
<td data-bind="year"></td>
<td data-bind="title"></td>
<td data-bind="genre"></td>
</tr>
</table>
</div>
我的数据源变成了这样:
for (var i = 0; i < movies.length; ++i) {
if (typeof moviesGenres[movies.genre] === 'undefined')
moviesGenres[movies.genre] = [];
moviesGenres[movies.genre].push(movie);
}
我已经尝试了大约十几种其他解决方案,我开始怀疑这是否是我缺乏淘汰赛的知识(我仍然很绿色),或者这不可能是我想要的方式.