2015-10-27 66 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