zoukankan      html  css  js  c++  java
  • 路由导航守卫

    全局前置守卫router.beforeEach

    router.beforeEach((to, from, next) => {
      // to 即将要进入的目标 路由对象
      //from 当前导航正要离开的路由
      //next 一定要调用该方法来 resolve 这个钩子
    })
    

    全局解析守卫:router.beforeResolve

    全局后置钩子router.afterEach

    router.afterEach((to, from) => {
      // ...
    })
    

    路由独享守卫beforeEnter

     {
          path: '/foo',
          component: Foo,
          beforeEnter: (to, from, next) => {
            // ...
          }
    

    组件内的守卫

     beforeRouteEnter (to, from, next) {
        // 在渲染该组件的对应路由被 confirm 前调用
        // 不!能!获取组件实例 `this`
        // 因为当守卫执行前,组件实例还没被创建
      },
      beforeRouteUpdate (to, from, next) {
        // 在当前路由改变,但是该组件被复用时调用
        // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
        // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
        // 可以访问组件实例 `this`
      },
      beforeRouteLeave (to, from, next) {
        // 导航离开该组件的对应路由时调用
        // 可以访问组件实例 `this`
      }
    

    执行

    beforeEach -> beforeRouteUpdate -> beforeEnter -> beforeRouterEnter -> beforeResolve -> afterEach ->beforeRouteEnter

  • 相关阅读:
    Flink之DataStreamAPI入门
    Spark底层原理简化版
    Spark调优
    Flink架构及其工作原理
    Kafka总结
    leetcode数学相关
    程序员的修炼之道5
    数据库连库建表
    完成了web系统
    即将完成大型web系统
  • 原文地址:https://www.cnblogs.com/xiaojimeng/p/12860259.html
Copyright © 2011-2022 走看看