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'; แต่ฉันก็ไม่เคยเข้าใจเรื่องนั้นจริงๆ เหมือนกัน
