AngularJSの新機能です。ここで コントローラの関数からng-repeatにデータを取得できません。
<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:1つの機能しか必要ありません。必須条件です。
あなたは '使用していませんコントローラー機能のアーティストです。なぜあなたはそのパラメータを望んでいますか? –
なぜng-repeatで 'getAlbumsInfo(artist)'を呼びますか? 'artist'オブジェクトは何ですか? – superUser
'$ scope.getAlbumsInfo(アーティスト)'を試してください – Mdk