2015-10-27 68 views
0

我有一个小的Angular-app,用户可以点击链接打开一个带有嵌入式Youtube剪辑的弹出窗口。在弹出的重要组成部分,是这样的:在iframe上设置ng-src为空

<iframe ng-src="{{ myCtrl.trustAsResourceUrl(myCtrl.currentVideo.youtubeSrc) }}"></iframe> 

如果用户开始播放视频,然后点击“关闭弹出窗口” -link(我的js代码,然后将隐藏弹出式)的视频会在后台播放。我想停止该视频,我认为最简单的方法是将iframe的src设置为无效。但如果我在我的控制器中设置currentVideo为null,则不会发生任何事情。为什么?

不应该将iframe的src设置为空吗?如果我将currentVideo设置为另一个视频,它将切换到另一个视频。

回答

0

使用ng-if会从DOM

<iframe ng-if="myCtrl.currentVideo.youtubeSrc" 
     ng-src="{{ myCtrl.trustAsResourceUrl(myCtrl.currentVideo.youtubeSrc) }}"></iframe> 

的问题很可能是ng-src不会改变src为无效链接值并保留现有的

+0

我觉得'NG-删除了iframe如果您使用模态实例,则不需要。请看看[小提琴](http://jsfiddle.net/awolf2904/tdzp6v3o/)。 – AWolf

+0

我现在将自定义弹出窗口更改为Bootstraps模式(http://www.w3schools.com/bootstrap/bootstrap_modal.asp),然后此解决方案无法工作。关闭弹出窗口后,视频仍然继续播放。无法弄清楚原因。有任何想法吗? – Delta

+0

如果我不使用调节器Bootstrap库使用UI Bootstrap(https://angular-ui.github.io/bootstrap/),那么所有的东西都像魅力一样。看起来像Bootstrap和Angular不是最好的朋友。 :) – Delta