如何绕过ng-repeat?

时间:2015-12-08 01:26:11

标签: angularjs angular-ui-router

对于我的HTML结构,我想在ng-repeat来电之外加载模板,但仍使用来自movie in movieGroup来电的数据。

此模板为movieGroup变量中的每个影片创建一个movie_container div元素。在movie_container div中,我有一个调用状态路由a的{​​{1}}元素。

.test

这是.container-wrapper{"ng-repeat" => "movieGroup in movieGroups"} .movie_container{"ng-repeat" => "movie in movieGroup | orderBy:'release_date'"} .movie-info %a{:href => "#", "ui-sref" => ".test({value: '{{ movie.movie_id }}' })"} More info .big-box{"ui-view" => "test"} 州,

.test

如您所见,它会将名为.state('home.test',{ params: { value: null }, url: '', views: { "test":{ templateUrl: '../assets/angular-app/templates/_movie-info.html', controller: function($scope, $stateParams, $state) { $scope.movie = $stateParams.value // $scope.value = $stateParams.value; console.log (movie_id) } } } }) 的模板从第一个模板插入_movie-info.html视图。

test模板看起来像这样,

_movie-info.html

但现在我无法使用.container-info{"ng-style" => "{'background-image':'url(https://image.tmdb.org/t/p/w1280{{movie.backdrop}})'}"} %ul.trailers %li{"ng-repeat" => "trailer in filteredTrailers = (trailers | filter: { movie_id: movie.movie_id})"} %a{"ui-sref" => ".container-big-trailer({value: '{{ trailer.link }}' })"} Load trailer .container-trailers %div{"ui-view" => "youtube_trailer"} {{ movie.backdrop }}等内容。

所以我希望有办法将我需要的数据传递给我的第二个模板(trailers | filter: { movie_id: movie.movie_id})

1 个答案:

答案 0 :(得分:0)

尝试传递影片对象而不是movie_id

".test({value: '{{ movie}}' })"}

您应该可以在第二个模板中使用$ scope.movi​​e.movi​​e_id。另一种方法是使用$scope.$parent.movie