全屏方案
安装依赖
bash
npm install screenfull -S
封装全屏组件
vue
<template>
<div>
<SvgIcon
:icon="isFullscreen ? 'exit-fullscreen' : 'fullscreen'"
@click="onToggle"
size="36"
color="black"
>
</SvgIcon>
</div>
</template>
<script setup>
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>
<style lang="scss" scoped></style>