ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Vue3里单页面应用(SPA)参数路由多实例缓存冲突问题

2022-09-08 14:03:41  阅读:204  来源: 互联网

标签:uid component 里单 user Vue3 组件 SPA 路由


Vue SPA页面会有单组件多实例的参数路由情况,比如现有用户信息如下

{
  path: "/user/:uid",
  name: "user",
  component: () => import("@/views/**/user.vue"),
  params: {uid: 1},
  ...
}

那么缓存路由组件可以写成以下形式

<template>
    <router-view v-slot="{Component}">
        <keep-alive :include="includeRoutes">
            <component :is="Component" :key="$route.path"></component>
        </keep-alive>
    </router-view>
</template>

核心部分是component绑定key为$route.path
注意vue3和vue2的RouterView与KeepAlive组件嵌套关系是不一样的,如果不合适,控制台会有警告
注意路由组件要有名称
注意嵌套路由组件也要有名称

注:

  • 在 3.2.34 或以上的版本中,使用 <script setup> 的单文件组件会自动根据文件名生成对应的 name 选项,无需再手动声明,参考

标签:uid,component,里单,user,Vue3,组件,SPA,路由
来源: https://www.cnblogs.com/noah227/p/16669160.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有