我创建了一个关于我的工作的简单应用程序,我正在使用 YouTube 播放器 API 播放/嵌入我的工作视频。我只想在每次访问我的投资组合页面时播放随机视频而无需重新加载。而且我想使用 API 提供的播放/暂停事件,比如如果视频正在播放,我想在下面用<p>
标签给出一些提示。我正在使用 Ionic,并且ionViewWillEnter() {}
每次访问我的页面时都使用生命周期来播放随机视频。
这是我的代码。
投资组合page.html
<div>
<iframe [src]="randomURL" id="video"></iframe>
<p>{{ tips }}</p>
</div>
投资组合page.ts
ionViewDidEnter() {
this.tips = "Some tips here"
this.randomURL = "https://www.youtube.com/embed/"my random video URL";
// Play Pause events
window['onYouTubeIframeAPIReady'] = (e) => {
this.YT = window['YT'];
this.player = new window['YT'].Player('player', {
videoId: id,
events: {
'onStateChange': (event) => {
switch (event.data) {
case window['YT'].PlayerState.PLAYING:
this.tip = "Some tips here"
break;
但这里的问题是当我第一次访问该页面时,播放暂停事件可以正常工作。如果再次访问该页面,则播放暂停事件不起作用。我在这里要做的就是只刷新组件页面(即 HTML 页面)而不重新加载。