【发布时间】:2021-07-20 08:59:34
【问题描述】:
我的 HTML 中有一张图片和一段 YouTube 视频。当视频不播放时,我只想显示图像,而当视频播放时,我只想显示视频。
当页面打开时仅加载图像(如预期的那样)并且当单击播放按钮时图像消失但视频未显示。如果我删除视频元素的 ng-show 视频可以工作,但问题是当页面加载时它也会出现在图像中(它不应该)。
对于 YouTube 视频,我使用的是 angular-youtube-mb 1.3.2 版本。
HTML
<div class="video-wrapper">
<div class="video">
<img ng-if="!homewelcomeVM.playing && !homewelcomeVM.paused" ng-src="ommited.jpg">
{{homewelcomeVM.playing}}
<youtube-video ng-show="homewelcomeVM.playing" video-url="homewelcomeVM.youtubeUrl" player="homePlayer" player-vars="playerVars" player-width="'100%'" player-height="'100%'"></youtube-video>
</div>
</div>
<div class="blck-cnt animate-fade" ng-show="!homewelcomeVM.playing || homewelcomeVM.paused">
<button type="button" class="play play-lg" hvm-analytics-clicks hvm-where-is="'home'" hvm-action="::'CLICK_PLAY_HOME_VIDEO'" ng-click="homePlayer.playVideo()"><i class="ic-svg ic-play-arrow ic-light ic-36"><svg><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#ic-play-arrow"></use></svg></i></i></button>
</div>
按下播放按钮时,控制点 {{homewelcomeVM.playing}} 正确更新为 true。
控制器
$scope.$on('youtube.player.playing', function ($event, player) {
vm.playing = true;
vm.paused = false;
});
为什么当控制器变量更改为 true 时视频没有出现?
【问题讨论】:
标签: javascript html angularjs