路由守卫不能触发
来源:6-8 路由守卫详解及应用场景

慕数据8524399
2023-05-12
路由守卫不能触发,无论是全局的,还是组件的。没有任何报错和提示。vite4+Vue3,请问是老师是什么情况。
import Home from '…/views/Home.vue’
import About from '…/views/About.vue’
import Foo from '…/views/foo.vue’
import Bar from '…/views/bar.vue’
import Baz from '…/views/baz.vue’
import {createRouter,createWebHistory} from ‘vue-router’
const routes = [
{
path: ‘/’,
component: Home
},
{
path: ‘/about’,
component: About,
children:[
{path:‘foo/:id’, //动态路由
name:‘foo’, //动态路由也可以添加name属性
component:Foo,
meta:{auth:true},
beforeEnter: (to, from, next) => {
console.log(to,from);
next();
}
},
{path:‘bar’,
name:‘bar’,
//同一个路由,多个组件,注意是components
components:{
default:Bar,
baz:Baz
},
meta:{auth:false}
}
]
}
];
const router = createRouter({
history: createWebHistory(),
routes
})
//全局路由
router.beforeEach((to, from, next) => {
console.log(to,from);
next();
})
export default router;
1回答
-
西门老舅
2023-05-12
你好,从代码上来看并没有太大问题
可能原因:
import Foo from '…/views/foo.vue’
import Bar from '…/views/bar.vue’
import Baz from '…/views/baz.vue’这里的foo bar baz 都是小写的,检查一下跟你定义的文件是否存在大小写不同的问题,vite是严格区分大小写的
第二个可以排查的点就是 main.js 中是如何进行路由配置的,看看app.use(router)是否写的有问题
00
相似问题