我在AngularJS新。我想在一个视图中创建动态表:无法从一个函数中的数据控制器NG-重复
<table class="table">
<thead>
<tr>
<td>Name</td>
<td>Genre</td>
<td>Duration</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="album in getAlbumsInfo(artists)">
<td>{{ album.name }}</td>
<td>{{ album.genre }}</td>
<td>{{ album.duration }}</td>
</tr>
</tbody>
</table>
这里是我的控制器(artists
从后端接收):
$scope.getAlbumsInfo = function (artists) {
var albumsData = [];
artists.forEach(function (artist) {
var albumItemMap = new Map();
albumItemMap.set("name", artist.name);
albumItemMap.set("genre", artist.genre);
albumItemMap.set("duration", artist.geduration);
albumsData.push(albumItemMap);
});
return albumsData;
};
但它并不显示在表中的任何数据。只是简单的表格。 如果我用从$scope
类似的硬编码数据我检查:
$scope.albums = [
{ name: 'Cali Roll', genre: 'Pop', duration: 45 },
{ name: 'Philly', genre: 'Rock', duration: 50 },
{ name: 'Rainbow', genre: 'Relax', duration: 55 }
];
和(视部分):
<tr ng-repeat="album in albums">
它工作正常。但是,在功能getAlbumsInfo
的情况下,它不起作用。我究竟做错了什么?
UPD:我只需要一个功能,它的强制性条件。
你没有使用'艺术家“在控制器功能。你为什么要这个参数? –
你为什么在ng-repeat中调用'getAlbumsInfo(artists)'?什么是“艺术家”的对象? – superUser
尝试'$ scope.getAlbumsInfo(艺术家)' – Mdk