ng-repeat中的动态过滤值

时间:2016-03-05 18:32:13

标签: angularjs

是否可以以这种方式为过滤器变量使用动态值:

Date.current.year

因此它在重复内部重复 - 它没有像这样显示,但是如果我在其中一个值中进行硬编码,那么它将起作用 -

或者我应该重新考虑我的方法 -

非常感谢

1 个答案:

答案 0 :(得分:0)

filter:{name:'playlist.playlistGenre'}

查找名称为字符串> playlist.playlistGenre'的流派。如果我理解正确,您想要的是显示名称与playlistGenre的字段playlist具有相同值的类型。

所以你想要

filter:{name:playlist.playlistGenre}

那就是说,效率很低。我猜有一种具有特定名称的流派。因此,您不必循环播放每个播放列表的所有类型,而是直接在播放列表中设置类型,或者至少使用包含每个名称类型的哈希:

$scope.genresByName = {};
genres.forEach(function(genre) {
    $scope.genresByName[genre.name] = genre;
});

然后

<div ng-repeat="playlist in playlists" >
    <a class="view-detail" ng-href="#/playlist/{{playlist.id}}">{{playlist.playlistName}}</a>
    <a ng-href="#/playlist/{{playlist.id}}">check out this playlist >></a>
    <span><img ng-src="{{genresByName[playlist.playlistGenre].image}}"></span>
</div>
相关问题