vue——vue3路由导航守卫及其写法_dbt@12138的博客-爱代码爱编程
导航守卫:一个页面跳转到另一个页面,中间会触发某个函数
导航守卫3个状态
<script>
export default {
methods: {
},
beforeRouteEnter () {
console.log('路由进入');
},
beforeRouteUpdate () {
console.log('路由更新');
},
beforeRouteLeave () {
console.log('路由离开');
},
}
</script>
第一种写法:全局使用
router\index.js 路由配置文件
// 路由守卫
router.beforeEach((to, from, next) => {
console.log(to);
// 跳转
next()
// 返回 false 禁止跳转
// return false
})
第二种写法:单个使用
import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router'
import Page from '../components/Page.vue'
// 定义一些路由
const routes = [
{
path: '/page', component: Page,
beforeEnter: (to, from, next) => {
// ...
next()
console.log(to, 'tototo');
}
},
]
// 创建路由实例并传递 `routes` 配置
const router = createRouter({
//内部提供了 history 模式的实现。为了简单起见,我们在这里使用 hash 模式。
// history: createWebHashHistory(),
history: createWebHistory(),
routes, // `routes: routes` 的缩写
})
export default router