Appearance
shell
npm i screenfull@5.1.0
创建vue组件,此组件可以导入到任何页面中,点击图标即可实现全屏/取消全屏操作,其中svg-icon
是图标,您可以替换成您的图标
vue
<template>
<div @click="onToggle">
<svg-icon :icon="isFullscreen ? 'exit-fullscreen' : 'fullscreen'" />
</div>
</template>
<script setup>
import { ref, onMounted, onUnmounted } from 'vue'
import screenfull from 'screenfull'
// 是否全屏
const isFullscreen = ref(false)
// 监听变化
const change = () => {
isFullscreen.value = screenfull.isFullscreen
}
// 切换事件
const onToggle = () => {
screenfull.toggle()
}
// 设置侦听器
onMounted(() => {
screenfull.on('change', change)
})
// 删除侦听器
onUnmounted(() => {
screenfull.off('change', change)
})
</script>