Javascript 使用外部API在Angular中过滤流派

Javascript 使用外部API在Angular中过滤流派,javascript,json,angularjs,Javascript,Json,Angularjs,我正在为此应用程序使用Angular。 我有一个JSON文件,里面有5部电影,这些电影有一个带有流派的数组。 我想有这样的链接:/电影/流派/恐怖 在它里面,我想展示在它的类型数组中包含这种类型的电影 浏览器中的对象: JSON文件: 有人能帮我吗 提前谢谢!: 我不打算为您写全部内容,但根据您所说的,您已经尝试使用路由提供商,下面是一个示例,可以让您了解您的目的地 $routeProvider.when('/movies/genres/:genre', { controller: Movi

我正在为此应用程序使用Angular。 我有一个JSON文件,里面有5部电影,这些电影有一个带有流派的数组。 我想有这样的链接:/电影/流派/恐怖 在它里面,我想展示在它的类型数组中包含这种类型的电影

浏览器中的对象:

JSON文件:

有人能帮我吗


提前谢谢!:

我不打算为您写全部内容,但根据您所说的,您已经尝试使用路由提供商,下面是一个示例,可以让您了解您的目的地

$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中调用了它。谢谢你的时间和努力!