class PubSub {
constructor() {
this.sub = []
}
add(instance) {
this.sub.push(instance)
}
clear() {
this.sub = []
}
get instance() {
const [el] = this.sub
return el
}
}
export default new PubSub()
使用
import Pubsub from '@/utils/pubsub.js'
this.$nextTick(() => {
const vidDom = $(`#v_${this.info.id}`) // 获取当前需要播放的
vidDom && vidDom.addEventListener('play', () => {
const instance = Pubsub.instance
instance && Pubsub.clear() // 清空所有的视频
Pubsub.add(vidDom)
})
vidDom && vidDom.addEventListener('pause', () => {
this.showPlay = true
})
})