vuejs にビデオを追加する方法: 1. iframe を介してビデオ リンクを挿入します; 2. vue-video-player プラグインを引用してビデオを追加します。
この記事の動作環境: Windows7 システム、vue2.9.6 バージョン、DELL G3 コンピューター。
vuejs にビデオを追加する方法
#Vue に基づいてビデオを挿入する 2 つの方法のまとめ:
方法 1: iframe にビデオ リンクを挿入します
1.1## 現在ビデオを再生中
<div class="video-wrap" style="width:80%;float:left;oveflow:hidden;"> <iframe :src="this.activeVideo.youtobeURL" frameborder='0' allow='autoplay;encrypted-media' allowfullscreen style='width:100%;height:500px;'> </iframe> <h3>{{this.activeVideo.title}}</h3> </div>
1.2
##ビデオリスト<div class="video-list" style="float:right;width:20%;text-align:center;"> <div v-for='video in videos' :key='video.id' class="thumbnail" > <div class="thumbnail-img" > <div style="height:50%;width:100%;position:absolute;z-index:999" @click="activeVideoShow(video.id)"></div> <iframe :src='video.youtobeURL' :alt="video.title" /> </div> <div class="thumbnail-info"> <h4>{{video.title}}</h4> <div class="thumbnail-views"> <span>{{video.speaker}}</span> <span>{{video.views}} Views</span> </div> <div class="thumbnail-describe"> {{video.describe}} </div> </div> </div> </div>
## 定義されたデータ構造 (自分で書いたデモ、実用的かもしれません (中間とバックエンドで返されるデータ構造は異なります)
data () { return { flag:false, videos:[{ id:1,title:'test2',youtobeURL:'http://player.youku.com/embed/XMzcwNTY3NTM2MA',speaker:'harry', likes:101,views:0,describe:'good' },{ id:2,title:'test3',youtobeURL:'http://player.youku.com/embed/XMzcwNTY3NTM2MA',speaker:'harry', likes:100,views:75,describe:'good' }], activeVideo:{ id:3,title:'test1',thumbnail:'./../../static/images/headImg.png',speaker:'harry', likes:0,views:0,describe:'good', youtobeURL:'http://player.youku.com/embed/XMzcwNTY3NTM2MA' } } }
1.4
## 動画リスト内の動画をクリックして変更します現在のビデオへps: 最初、iframe にクリック イベントが書き込まれていましたが、クリックは無効でした。その後、完璧な解決策である div を書きました。<div style="height:50%;width:100%;position:absolute;z-index:999" @click="activeVideoShow(video.id)"></div>
##現在のビデオのクリック イベントを変換します: ID を使用して、現在クリックされているビデオを特定します
activeVideoShow(id){
this.videos.filter(item=>{
if(id == item.id){
this.activeVideo=item
}
})
}
束を書くiframe メソッドに相対的な div の数とスタイル、vue-video-player は単純に合理化され、離陸します
#2.1##このプラグインを初めて使用したとき、私はこのプラグインにあまり慣れていませんでしたということで、公式 API をベースに videoPlayer コンポーネントを作成しました。コードは次のとおりです:
<div> <video ref="videoPlayer" class="video-js"></video> </div>
2.1-1
##ビデオを導入する必要があります.js を作成し、関連オプションを定義します。import videojs from 'video.js' --------------------------------- props:{ options:{ type:Object, default(){ return{ } } } }, data(){ return{ player:null } }, mounted(){ this.player=videojs(this.$refs.videoPlayer,this.options,function onPlayerReady(){ console.log('onPlayerReady',this) }) }
##ビデオが挿入されるページに上記の videoPlayer コンポーネントを導入し、ビュー層は次のとおりです。
<video-player class="video-player vjs-custom-skin " ref="videoPlayer" :playsinline='false' :options='videoOptions' @play="onPlayerPlay($event)" @pause='onPlayerPause($event)' @statechagned='playerStateChanged($event)' > </video-player>
2.3
##導入が必要なプラグイン
import './../../node_modules/video.js/dist/video-js.css' import './../../node_modules/vue-video-player/src/custom-theme.css' import videojs from 'video.js' import {videoPlayer} from 'vue-video-player' import 'videojs-flash' import VideoPlayer from '@/components/videoPlayer.vue'
2.3-1
##関連データの定義