我正在使用Angular这个应用程序。 我有一个JSON文件,有5部电影,这些电影有一个阵列与Genres。 我希望有以下链接:/ movies / genre / horror 在其中我想要在其流派阵列中显示包含该类型的电影。
浏览器中的对象:http://i.imgur.com/WEv8Uog.png
JSON文件:http://dennistel.nl/movies/
任何人都可以帮助我吗?
提前致谢! :)
答案 0 :(得分:0)
我不打算为你写完整件事,但是你说你已经尝试过使用路线提供商了,这里有一个例子可以让你到达目的地。
$routeProvider.when('/movies/genres/:genre', {
controller: MovieGenresController,
templateUrl: 'template.html'
});
MovieGenresController.$inject = ['$scope', '$routeParams', 'MoviesService'];
function MovieGenresController($scope, $routeParams, MoviesService) {
// Making this lowercase will make comparisons easier
var searchGenre = $routeParams.genre.toLowerCase();
var movies = MoviesService.getAll();
var matchingMovies = [];
angular.forEach(movies, function(movie) {
if (movie.genres && movie.genres.length) {
for (var i = 0; i < movie.genres.length; i++) {
var movieGenre = movie.genres[i].toLowerCase();
if (movieGenre === searchGenre) {
matchingMovies.push(movie);
break;
}
}
}
});
$scope.movies = matchingMovies;
}
这显然可以优化,但总的想法是存在的。您需要从$ routeParams中获取该类型并循环播放电影以查看它们是否包含要搜索的类型,将它们添加到最终将在您的视图中使用的数组中。