Javascript 使用外部API在Angular中过滤流派
我正在为此应用程序使用Angular。 我有一个JSON文件,里面有5部电影,这些电影有一个带有流派的数组。 我想有这样的链接:/电影/流派/恐怖 在它里面,我想展示在它的类型数组中包含这种类型的电影 浏览器中的对象: JSON文件: 有人能帮我吗Javascript 使用外部API在Angular中过滤流派,javascript,json,angularjs,Javascript,Json,Angularjs,我正在为此应用程序使用Angular。 我有一个JSON文件,里面有5部电影,这些电影有一个带有流派的数组。 我想有这样的链接:/电影/流派/恐怖 在它里面,我想展示在它的类型数组中包含这种类型的电影 浏览器中的对象: JSON文件: 有人能帮我吗 提前谢谢!: 我不打算为您写全部内容,但根据您所说的,您已经尝试使用路由提供商,下面是一个示例,可以让您了解您的目的地 $routeProvider.when('/movies/genres/:genre', { controller: Movi
提前谢谢!: 我不打算为您写全部内容,但根据您所说的,您已经尝试使用路由提供商,下面是一个示例,可以让您了解您的目的地
$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中获取类型并循环浏览电影,查看它们是否包含正在搜索的类型,并将它们添加到最终将在您的视图中使用的阵列中。您能说出您已经尝试过的内容吗,您遇到了哪些困难使您无法自己解决?我尝试创建一个路由提供程序:。当“/movies/genres/:genre”。并将其与一个控制器连接,该控制器尝试选择这些类型,但不起作用。还有一些电影有多种类型,我有点迷失了。我对这个很陌生,所以我可能错过了一些绝对需要的东西。我还尝试创建了一些函数,并在HTML中调用了它。谢谢你的时间和努力!