| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | <template>  <!--  视频播放弹窗 -->  <el-dialog    :title="title"    :visible.sync="show"    @close="closeVideoDialog"    @open="openVideoDialog"    class="course-video-dialog"    center>    <video controls :src="videoUrl" class="course-video-box" ref="myVideo"></video>    <p v-if="footerText">{{footerText}}</p>  </el-dialog></template><script>export default {  name: "videoDialog",  props: {    source: {      type: String,      require: true    },    footerText: {      type: String,    },    visible: {      type: Boolean,      require: true    }  },  data() {    return {      title: '',      show: false,      videoUrl: '',    }  },  watch: {    visible: {      handler(newVal) {        this.show = newVal;      },      immediate: true    }  },  methods: {    openVideoDialog() {      this.videoUrl = this.source;    },    closeVideoDialog() {      this.$refs.myVideo.pause();      this.$emit('update:visible',false);      this.videoUrl = "";    }  }}</script><style scoped></style>
 |