Angular2上的onYouTubeIframeAPIReady无法找到名称'YT'

时间:2017-08-22 07:07:11

标签: angular typescript youtube-api angular-cli youtube-iframe-api

我正在尝试在我的angular 2项目中插入YouTube嵌入式API,使用angular cli构建。

当我尝试对这个问题发表评论的方法时,我得到了“找不到名字'YT':onYouTubeIframeAPIReady not firing on angular2 web app

我的服务代码如下所示:

loadAPI() {
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

(window as any).onYouTubeIframeAPIReady = function () {
  this.player = new YT.Player('player', {
    events: {
      'onReady': this.onPlayerReady,
      'onStateChange': this.onPlayerStateChange
    }
  });
};

(window as any).onPlayerReady = function (event) {
  event.target.playVideo();
};

(window as any).onPlayerStateChange = function (status) {
  console.log(status.data);
};

我不确定在哪里以及如何获得'YT结构'。我知道它来自“https://www.youtube.com/iframe_api”,但我不知道如何通过角度来解决这个问题。

1 个答案:

答案 0 :(得分:0)

将此添加到我的导入以获取引用YT的文件似乎有效。

import 'youtube';

有人可以解释原因!我意识到这与import * from 'moment';类似,但我也从未理解过这一点。