• vue路由钩子拦截器beforeEach和afterEach及页面路由变化路由监听


    转自:https://blog.csdn.net/ddr66288/article/details/102119947?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.compare

    在路由跳转的时候,我们需要一些权限判断或者其他操作。这个时候就需要使用路由的钩子函数。

    定义:路由钩子主要是给使用者在路由发生变化时进行一些特殊的处理而定义的函数。

    总体来讲vue里面提供了三大类钩子,两种函数 1、全局钩子 2、某个路由的钩子 3、组件内钩子

    两种函数:
    
    1. router.beforeEach(function(to,form,next){}) /*在跳转之前执行*/
    
    2. router.afterEach(function(to,form)}{}) /*在跳转之后判断*/
    全局钩子函数

    顾名思义,它是对全局有效的一个函数

    // router.js

    const router = new Router({ routes: [ { path: '/', name: 'sideBar', component: sideBar, children:[ { path:'/', name:'sort', component:sort }, { path:'/addNewSort', name:'addNewSort', component:addNewSort }, { path:'/notSend', name:'notSend', component:notSend }, { path:'/sended', name:'sended', component:sended }, } ] }) router.beforeEach((to,from,next)=>{ // console.log("to:",to); // router即将进入的路由对象 // console.log("from:",from); // 当前导航即将离开的路由 // console.log("next:",next); // Function,进行管道中的一个钩子,如果执行完了,则导航的状态就是 confirmed (确认的);否则为false,终止导航。 if(to.name=='notSend'){ next({ name:'sort' }) return } next() }) export default router
    某个路由的钩子函数

    顾名思义,它是写在某个路由里头的函数,本质上跟组件内函数没有区别。

    // router.js

    const router = new VueRouter({
      routes: [
        {
          path: '/login',
          component: Login,
          beforeEnter: (to, from, next) => {
            // ...
          },
          beforeLeave: (to, from, next) => {
            // ...
          }
        }
      ]
    })
    路由组件的钩子

    可以在路由组件内直接定义以下路由导航钩子

    // *.vue

    beforeRouteEnter beforeRouteUpdate (2.2 新增) beforeRouteLeave

    这里简单说下钩子函数的用法:它是和data,methods平级的。

    beforeRouteLeave(to, from, next) {
        next()
    },
    beforeRouteEnter(to, from, next) {
        next()
    },
    beforeRouteUpdate(to, from, next) { // 用于相同路由组件的的参数更新
        next()
    },
    data:{},
    method: {}
  • 相关阅读:
    迭代平方根
    windows怎么进如debug调试
    wxwidgets安装环境配置
    【android官方文档】与其他App交互
    Android ImageView图片自适应
    Gridview的stretchMode详解附自动宽度
    Activity生命周期解说
    一些问题
    android 文件读取(assets)
    android:scaleType属性
  • 原文地址:https://www.cnblogs.com/linwenbin/p/13973048.html
Copyright © 2020-2023  润新知