对于我的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})
。
答案 0 :(得分:0)
尝试传递影片对象而不是movie_id
".test({value: '{{ movie}}' })"}
您应该可以在第二个模板中使用$ scope.movie.movie_id。另一种方法是使用$scope.$parent.movie
。