首页 > 其他分享 >vue3中动态添加路由刷新无法正确匹配路由组件

vue3中动态添加路由刷新无法正确匹配路由组件

时间:2024-04-15 09:55:50浏览次数:18  
标签:匹配 添加 vue3 组件 动态 路由 页面

1.问题

  • 动态添加路由之后,页面重新匹配路由,匹配到了设置的404 notfound页面
  • 该页面是在路径无法匹配到的时候才会跳转的页面

2. 问题查找

  • 在前置路由守卫打印to
  • 发现当前地址匹配到的组件是配置的404页面
  • 并且此时的动态路由中是含有改路由地址的
    image.png
    image.png

3.问题原因

  • 在页面刷新时,会重新初始化vuex中的state数据,并动态添加路由
    image.png
  • 由于先安装加载路由,后添加动态路由
  • 此时,流程是:刷新页面 => 代码自上而下执行安装路由 => 路由会立即匹配组件 => 此时还未添加动态路由 => 匹配不到对应的组件 => 最终匹配到 notfound

4.解决办法

  • 调整添加动态路由时机
  • 代码执行有先后,执行顺序的不同可能会导致不同的结果
    image.png

标签:匹配,添加,vue3,组件,动态,路由,页面
From: https://www.cnblogs.com/coderzdz/p/18135214

相关文章

  • vue3在构建时,使用魔法糖语法时defineProps和defineEmits的注意事项
    在Vue3.2+版本中,可以使用<scriptsetup>替代传统的script标签来编写组件,它提供了更简洁的语法来编写CompositionAPI代码。在<scriptsetup>中,使用defineProps和defineEmits时需要注意:如果显式地导入defineProps时,在编译时会提示以下wanning<scriptsteup>impo......
  • Vue3、AntDesignModal、useModal.js封装组件
    useModal.jsimport{nextTick,ref}from'vue'import{isFunction}from"lodash-es";exportfunctionuseModal(){ constvisible=ref(false) constloading=ref(false) constshowModal=()=>{ visible.value=true } con......
  • HarmonyOS-基础之Tabs组件
    1、Tabs的基本使用@Entry@ComponentstructIndex{privatecontroller:TabsController=newTabsController();//声明周期函数aboutToAppear(){//页面加载1s后跳转到商城setTimeout(()=>{this.controller.changeIndex(1)},1000)}......
  • HarmonyOS NEXT应用开发案例——滑动页面信息隐藏与组件位移效果
    介绍在很多应用中,向上滑动"我的"页面,页面顶部会有如下变化效果:一部分信息逐渐隐藏,另一部分信息逐渐显示,同时一些组件会进行缩放或者位置移动。向下滑动时则相反。效果图预览使用说明向上滑动页面,出现如下变化:用户名/选择身份/设置图标/客服图标逐渐隐藏,用户头像尺寸逐渐缩小......
  • 鸿蒙HarmonyOS实战-ArkUI组件(Navigation)
    ......
  • Ant - Form 自定义组件 form.getFiledsValue 如何获取值
    import{FC,useState}from'react';importtype{SelectProps}from'antd';import{Select,Space,Flex,Input,Button}from'antd';/***扩展选择器组件,可以通过键盘enter输入一个Option*/constInputSelect:FC<{defaultOptio......
  • 鸿蒙HarmonyOS实战-ArkUI组件(页面路由)
    ......
  • Element中el-time-picer组件中value-format和format得区别
    value-format:它用于指定时间选择器的值的格式,即选择的时间的字符串格式。当用户选择时间后,组件会根据value-format的值将选择的时间转换成相应的字符串格式作为组件的值。这个属性一般用于和后端交互,将时间值以特定格式发送给服务器。format:它用于指定时间选择器的显示格式,即用......
  • 02 Vue3核心语法
    选项式APIOptionsAPI和组合式APICompositionAPIVue2的API设计是Options(配置)风格的,就是选项式APIVue3的API设计是Composition(组合)风格的,就是组合式API选项式API的弊端Options类型的API,数据、方法、计算属性等,是分散在:data、methods、computed中的,若想新增或者修改一个需......
  • 50 Vue3常用扩展插件
    在setup的script标签中去指定组件名字1.安装npmivite-plugin-vue-setup-extend-D2.配置vue.config.tsimport{defineConfig}from'vite'importVueSetupExtendfrom'vite-plugin-vue-setup-extend'exportdefaultdefineConfig({plugins:[VueSe......