全屏实现--screenfull插件

739 阅读1分钟

使用插件screenfull $ npm i screenfull

<svg-icon icon-class="fullscreen" class="fullscreen" @click="toggleScreen" />

<script>
import screenfull from 'screenfull'  
export default {
  methods: {
    toggleScreen () {
      // 判断是否可用
      if (!screenfull.isEnabled) {
        // 此时全屏不可用
        this.$message.warning('此时全屏组件不可用')
        return
      }
      //   如果可用 就可以全屏
      screenfull.toggle()
    }
  }
}
</script>

切换显示图标

<svg-icon
  :icon-class="isFull? 'exit-fullscreen': 'fullscreen'"
  class="fullscreen"
  @click="toggleScreen"
/>

data () {
  return {
    isFull: false
  }
},
created () {
  if (screenfull.isEnabled) {
      screenfull.on('change', () => {
        if (screenfull.isFullscreen) {
          this.isFull = true
        } else {
          this.isFull = false
        }
      })
    }
  },
beforeDestroy () {
  screenfull.off('change')
}