重定向到AngularJS中的视图时脚本未加载

时间:2015-03-20 07:04:36

标签: javascript angularjs angularjs-directive youtube-api

我是AngularJS的新手,我有一个应用程序,我使用AngularJS在弹出窗口中播放YouTube视频。

问题在于,无论何时使用F5加载页面或从浏览器“重新加载”,加载youtube播放器的关联脚本都能正常工作,但每当我从我的应用程序导航到该页面时,该脚本都不会工作

<script>
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubePlayerAPIReady() {
  player = new YT.Player('ytplayer', {
  videoId: 'iSCIesIM8Ww'
});
}
 </script>

这是我想要加载的脚本每次查看页面时。

此外,我已将此脚本写入我的部分视图文件中。

我也使用了一个指令,但也没有解决问题。

2 个答案:

答案 0 :(得分:1)

请在部分视图的元素上创建一个指令,并在你的指令中包含你的javascript视频。它将完美地用于此。

答案 1 :(得分:1)

在初始运行后没有任何东西可以触发脚本 这是因为AngularJS应用程序是“单页”应用程序,在应用程序内导航不会触发整页刷新(按设计)。这就是Angular路线出现在哈希符号
之后的原因 http://localhost:9000/#/myRoute
你在哪里放置你的指令?每次呈现指令时都会触发指令JS。如果指令代码没有再次运行,那是因为它没有被重新渲染。