vue 导航守卫配置 全局导航守卫 123456789101112131415161718192021222324252627/* -------------------------------- 导航守卫 -------------------------------- */import router from './index';// 全局前置守卫router.beforeEach((to, from, next) => { if (sessionStorage.getItem("token")) { next() } else { if (to.path !== '/login') { alert("未登录,请先登录!") next({ path: '/login' }) } else { next() } }})/* // 全局解析守卫router.beforeResolve((to, from) => { console.log(to,from)})// 全局后置钩子router.afterEach((to, from) => { console.log(to,from)}) */ 入口文件挂载: 局部导航守卫是写在页面文件,与生命周期同级: 1234567891011121314151617181920212223242526272829303132<script>export default { data() { return { calendarTimes: new Date() }; }, beforeRouteEnter(to, from, next) { console.log(to, from); next(); // 在渲染该组件的对应路由被 confirm 前调用 // 不!能!获取组件实例 `this` // 因为当守卫执行前,组件实例还没被创建 }, beforeRouteUpdate(to, from, next) { console.log(to, from); next(); // 在当前路由改变,但是该组件被复用时调用 // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候, // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。 // 可以访问组件实例 `this` }, beforeRouteLeave(to, from, next) { console.log(to, from); next(); // 导航离开该组件的对应路由时调用 // 可以访问组件实例 `this` }, created() {}, mounted() {}};</script> 独享导航守卫是直接在配置路由文件写: vue2 #vue2 #web vue 导航守卫配置 https://github.com/chergn/chergn.github.io/edec8ac397cf/ 作者 全易 发布于 2024年3月28日 许可协议 vue 在生产环境清除【console.log】【console.error】 上一篇 vue 性能优化:gzip编译压缩 下一篇