Ich verwende vue-youtube-embed, um die Youtube-API in meiner vuejs-Komponente zu verwenden.Vue.js 2 - vue-youtube-einbetten, wie man den Video-Endzustand erkennt?
Hier ist mein Code:
<script>
export default {
data() {
return {
videoId: 'HjxYvcdpVnU',
videoLaunched: false,
videoLoaded: false,
videoRewatch: false,
videoEnded: false
}
},
computed: {
videoThumb: function() {
return 'https://img.youtube.com/vi/' + this.videoId + '/maxresdefault.jpg';
}
},
methods: {
launchVideo() {
this.videoLaunched = true;
this.player.playVideo();
document.getElementsByTagName('body')[0].classList.add('overlay');
},
ready(player) {
fitvids();
this.player = player;
this.videoLoaded = true;
},
ended() {
console.log('Ended');
}
}
}
</script>
und die html:
<youtube :video-id="videoId" @ready="ready" @ended="ended" player-width="100%"
player-height="57" :player-vars="{ autoplay: 0, controls: 1, modestbranding: 1, showinfo: 0, rel: 0 }">
</youtube>
Die ended() -Methode ist nicht Auslösung, und ich bin nicht sicher, warum.
Die ready() -Methode funktioniert einwandfrei, daher bin ich mir nicht sicher, warum die console.log nicht mit der ended() -Methode ausgelöst wird.
Ich kann ein Beispiel aus der Dokumentation nicht sehen, wie es geht.
Als [Beispiel] (https://github.com/kaorun343/vue-youtube-embed/blob/master/ Beispiel/app.js # L55) zeigt, sollte es die gleichen wie andere sein. Raise als Problem [hier] (https://github.com/kaorun343/vue-youtube-embed/issues/new) es ist nicht gelöst. – Saurabh
Ich weiß nicht, wie ich deine Frage beantworten soll, aber weißt du, dass das 'body' Element über' doutment.body' zugänglich ist? Könnte Ihnen helfen, weniger Codezeilen zu schreiben. – jeerbl
@jeerbl guter Tipp. Vielen Dank. – lukeliasi