zoukankan      html  css  js  c++  java
  • vue-router守卫

    导航守卫 router.beforeEach 全局前置守卫

      • to: Route: 即将要进入的目标(路由对象)
      • from: Route: 当前导航正要离开的路由
      • next: Function: 一定要调用该方法来 resolve 这个钩子。(一定要用这个函数才能去到下一个路由,如果不用就拦截) 执行效果依赖 next 方法的调用参数。
      • next(): 进行管道中的下一个钩子。如果全部钩子执行完了,则导航的状态就是 confirmed (确认的)。
      • next(false): 取消进入路由,url地址重置为from路由地址(也就是将要离开的路由地址)。
      •  1 // main.js 入口文件
         2     import router from './router'; // 引入路由
         3     router.beforeEach((to, from, next) => { 
         4       next();
         5     });
         6     router.beforeResolve((to, from, next) => {
         7       next();
         8     });
         9     router.afterEach((to, from) => {
        10       console.log('afterEach 全局后置钩子');
        11     });

        路由独享的守卫 你可以在路由配置上直接定义 beforeEnter 守卫

      •  1 const router = new VueRouter({
         2   routes: [
         3     {
         4       path: '/foo',
         5       component: Foo,
         6       beforeEnter: (to, from, next) => {
         7         // ...
         8       }
         9     }
        10   ]
        11 })

        组件内的守卫 你可以在路由组件内直接定义以下路由导航守卫

      •  1 const Foo = {
         2   template: `...`,
         3   beforeRouteEnter (to, from, next) {
         4     // 在渲染该组件的对应路由被 confirm 前调用
         5     // 不!能!获取组件实例 `this`
         6     // 因为当守卫执行前,组件实例还没被创建
         7   },
         8   beforeRouteUpdate (to, from, next) {
         9     // 在当前路由改变,但是该组件被复用时调用
        10     // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
        11     // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
        12     // 可以访问组件实例 `this`
        13   },
        14   beforeRouteLeave (to, from, next) {
        15     // 导航离开该组件的对应路由时调用,我们用它来禁止用户离开
        16     // 可以访问组件实例 `this`
        17     // 比如还未保存草稿,或者在用户离开前,
        18     将setInterval销毁,防止离开之后,定时器还在调用。
        19   }
        20 }
    世界上没有什么偶然,有的只有必然。——壹原侑子
  • 相关阅读:
    Python挂载杂记
    Python Log的使用, 模块化
    Python实现图片长宽比例缩放和填充
    系统监控与硬盘
    linux基础三
    linux基础二
    linux基础一
    网络基础
    操作系统
    计算机硬件基础
  • 原文地址:https://www.cnblogs.com/liazhimao/p/13827315.html
Copyright © 2011-2022 走看看