vue.js - vue router 相同组件跳转 beforeRouteEnter 没有触发问题

查看:1028
本文介绍了vue.js - vue router 相同组件跳转 beforeRouteEnter 没有触发问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

有一个组件 good , 和 id 组成 url /good/:id

发现

/good/1
/good/2
/good/3

别的界面跳转进来的时候可以触发 beforeRouteEnter, 但是互相间跳转的时候并没有触发,只触发了全局的 beforeEach, 为啥会这样。怎样能,能检测到相同组件间的跳转。

  • keep-alive 已经关了

  • 生命周期也都不会触发

        beforeUpdate(){
            debugger
        },
        updated(){
            debugger
        },
        activated(){
            debugger
        },
        deactivated(){
            debugger
        },

解决方案

用这个钩子函数,组件复用是会调用

 beforeRouteUpdate (to, from, next) {
    // 在当前路由改变,但是该组件被复用时调用
    // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
    // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
    // 可以访问组件实例 `this`
  }

这篇关于vue.js - vue router 相同组件跳转 beforeRouteEnter 没有触发问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆