- 关于动态路由
-
动态路由一般需要在beforeEach中去做拦截处理,把后端传过来的路由数据存入,这里我选择了pinia,所以需要引入pinia,在路由守卫中需要用到pinia进行数据存储,页面第一次也会去走一次router文件,由于pinia没有挂载到vue上面,导致报错,做法就是新建一个js文件,然后在js文件创建初始化,然后导出,然后分别在main和使用路由守卫的地方去引入。
-
其次就是由于webpack和vite的差异导致当处理后端的路由数据时候在动态挂载component的时候,之前vue2用的import就不行了,具体需要如下图:
这样子就可以挂载上了,需要注意的是,不能仅仅使用router.addRouter去挂载,还需要使用router.options.routes把每一个处理好的数据push到父路由数组里面。
- 当点击浏览器自带的刷新时,会导致页面空白,找不到路径,我得理解是由于是动态路由所以导致刷新的时候数据丢失,解决办法是在app.vue里面去做处理