ค้นหาเว็บไซต์

angular - บน onYouTubeIframeAPIReady ใน Angular2 ไม่สามารถหาชื่อ 'YT' ได้


ฉันกำลังพยายามแทรก API การฝัง YouTube ในโครงการ Angular 2 ของฉัน ซึ่งสร้างด้วย Angular CLI

ฉันได้รับข้อความ "ไม่พบชื่อ 'YT'" เมื่อฉันลองวิธีที่คอมเมนต์ในคำถามนี้: onYouTubeIframeAPIReady ไม่ทำงานในแอปเว็บ Angular2

รหัสบริการของฉันมีลักษณะดังนี้:

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" แต่ฉันก็ไม่รู้ว่าจะทำให้ Angular ทำงานเรื่องนี้ได้อย่างไร

คำตอบ #1

การเพิ่มสิ่งนี้ลงในการนำเข้าของฉันสำหรับไฟล์ที่อ้างอิงถึง YT ดูเหมือนว่าจะใช้ได้

import 'youtube';

มีใครช่วยอธิบายให้หน่อยได้ไหม! ฉันเข้าใจว่ามันคล้ายกับ import * from 'moment'; แต่ฉันก็ไม่เคยเข้าใจเรื่องนั้นจริงๆ เหมือนกัน

บทความที่เกี่ยวข้อง