vue3.2 Screenfull全屏方案
安装: npm i screenfull
版本:5.1.0
父组件
//使用
<screenfull class="right-menu-item hover-effect"></screenfull>
//导入
import Screenfull from '@/components/Screenfull'
子组件
Template
<div class="screenfull" @click="onToggle">
<svg-icon :icon="isFullscreen ? 'narrow' : 'enlarge'" />
</div>
script
<script setup>
import { ref, onMounted, onUnmounted } from 'vue'
import screenfull from 'screenfull'
// 是否全屏
const isFullscreen = ref(false)
// 监听变化
const change = () => {
isFullscreen.value = screenfull.isFullscreen
}
// 切换事件
const onToggle = () => {
console.log('进入')
screenfull.toggle()
}
// 设置侦听器
onMounted(() => {
screenfull.on('change', change)
})
// 删除侦听器
onUnmounted(() => {
screenfull.off('change', change)
})
</script>
<style lang="scss" scoped>
.screenfull {
cursor: pointer;
}
</style>