vue中怎样实现 路由拦截器

 我来答
德韵5B
2018-11-20 · TA获得超过1408个赞
知道小有建树答主
回答量:1325
采纳率:78%
帮助的人:222万
展开全部

路由拦截器就是路由守卫,分为全局守卫和局部守卫
全局守卫写在路由定义的文件里面,每当路由切换就会执行

// 进入页面之前执行
router.beforeEach((to, from, next) => {
  // ...
  })
// 进入页面之后执行
router.afterEach((to, from) => {
  // ...
  })

局部守卫写在vue组件里面,只对当前组件生效,和vue生命周期函数写法一样

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

更多信息参考vue-router官方文档

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式