Я использую angular-youtube-embed, чтобы показывать трейлеры фильмов в моем приложении Angular.
Я должен установить $ scope под названием theBestVideo
с этим значением ссылки youtube,
$scope.theBestVideo = 'Lm8p5rlrSkY';
console.log ($scope.theBestVideo)
И затем я показываю трейлер в своем шаблоне так,
%youtube-video{"video-id" => "theBestVideo"}
Проблема здесь, конечно, в том, что каждый фильм имеет тот же шаблон, поскольку значение задано в контроллере.
У меня есть значения других трейлеров в моей базе данных, которые я также отображаю на том же шаблоне, что и проигрыватель youtube,
%ul.trailers
%li{"ng-repeat" => "trailer in trailers | filter: { movie_id: movie.movie_id}"}
{{ trailer.link }}
Итак, мой вопрос: могу ли я ввести значение {{ trailer.link }}
в область '$ scope.theBestVideo' в моем контроллере?
Почему бы не создать шаблон видео в ng-repeat?
Так, например, у вас будет:
<div ng-repeat="trailer in trailers">
<youtube-video video-id={{trailer.link}}" />
</div>
Главный вопрос: как вы показываете конкретный трейлер. Если у вас есть список трейлеров, то то, что я предложил, будет работать.
Если ng-repeat отображается в другой части шаблона, значит, у вас будет список трейлеров (без показа видео), и видео будет показано, когда вы нажмете его в списке, просто привяжите событие ng-click к изменение видеоUrl