vue3中keep-alive使用include不生效

Vue3的setup语法糖,导致无法自定义组件name,使用keep-alive是需要name的,所以include不生效。
解决这个问题通常有两种方式

方式一:是通过写两个script标签来解决,一个使用setup,一个不使用

使用方式如下:

<template>
   <input type="text" v-model="value">
</template>  
<script setup lang="ts">
import {
    
     ref } from "vue";
 const value=ref("测试添加name");
</script>
<script lang="ts">
 export default {
    
    
    name:'testAddName'
 }
</script>

方式二:借助vite-plugin-vue-setup-extend插件

此种方式不需要写两个script标签,可以直接在script标签上定义name

1、安装插件

npm install vite-plugin-vue-setup-extend --save

2、配置vite.config.ts

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

3、在组件中使用

<script name='testAddName'></script>
 
<script setup name='testAddName'></script>

猜你喜欢

转载自blog.csdn.net/qq_41839808/article/details/128923264