vue.js - vue router 相同组件跳转 beforeRouteEnter 没有触发问题
本文介绍了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屋!
查看全文