vue3动态路由刷新后空白或者404

本文档记录了使用Vue、Vue Router和Vuex实现动态路由,并处理页面刷新后路由失效的问题。作者详细阐述了如何在刷新时保存和恢复路由状态,以及在beforeEach路由守卫中动态添加路由的技巧,同时分享了在排错过程中的心得。

前言

之前用vue+ant-design-vue写了一个动态路由的页面,更新看一下不能用了555~~~
之前用的组件版本不知道了,回退也不知道哪个版本合适,就是用"vue": "^3.2.13" , "vue-router": "^4.0.3","vuex": "^4.0.0",ant-design-vue": "^3.2.5"重新写一个吧。
本文章是看了其它杂七杂八的博客,自己排错后编写下,不容易啊

实现

  1. 首先在store\index.js文件编写
import {
   
    createStore } from 'vuex'


export default createStore({
   
   
  state: {
   
   
    menu_lists: []  //菜单
  },
  getters: {
   
   
    account(state) {
   
   
      return state.menu_lists  // 读取菜单列表
    }
  },
  mutations: {
   
   
    // 增加菜单
    menuAdd(state, n) {
   
   
      if (state.menu_lists.length == 0) {
   
   
        state.menu_lists.push(n)
      } else {
   
   
        if (state.menu_lists.some(menu => menu.id!= n.id)) {
   
   
          state.menu_lists.push(n)
        }
      }
    },
    // 清空菜单
    menuDelect(state) {
   
   
      state.menu_lists.length = 0
    }
  },
  actions: {
   
   
    menu_add({
    
     commit }, data) {
   
   
      commit('menuAdd', data)
    },
	// 登出时调用将菜单数据删除
    menu_delect({
    
     commit }) {
   
   
      commit('menuDelect')
    }
  },
  modules: {
   
   
  }
})


评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值