vue3 使用 setup 语法糖时,keep-alive 缓存使用 include / exclude 获取组件名

<template>
<router-view v-slot="{ Component, route }">
<keep-alive :include="['ComponentName']">
<component :is="Component" :key="route.name" />
</keep-alive>
</router-view>
</template>

vue3 使用 keep-alive 缓存页面时,如果需要使用 include / exclude 参数,那么就要用到组件名称。如果用 setup 语法糖书写时无法直接获取组件名,此时想要设置组件 name 的话有如下方法:

1. 多写一个script标签,并设置组件名:

<script>
export default {
name: "ComponentName",
}
</script>

2. 通过插件扩展:

vite-plugin-vue-setup-extend

安装插件:

yarn add vite-plugin-vue-setup-extend -D

npm i vite-plugin-vue-setup-extend -D

使用插件:
先引入

import { defineConfig, Plugin } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueSetupExtend from 'vite-plugin-vue-setup-extend'
export default defineConfig({
plugins: [vue(), vueSetupExtend()],
})

然后便可以设置name属性

<template>
<div>hello world {{ a }}</div>
</template>
<script lang="ts" setup name="ComponentName">
const a = 1
</script>
posted @   Li_pk  阅读(659)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示