Skip to content

全屏方案

安装依赖

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>