Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
127 views
in Technique[技术] by (71.8m points)

javascript - execute function after a $router.go in Vue

Can someone tell how can I execute a function after a this.$router.go(-1) if it's possible. I've tried with a nextTick but I think it's not correct.

question from:https://stackoverflow.com/questions/65882620/execute-function-after-a-router-go-in-vue

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If the function you want to execute and the router.go are in the same component, once the router.go is fired, If there is a page change, it means the component gets unmounted, which in turn means the function cannot get executed. What I think you can do is to look for a hook that would help you.

You can call your function within the beforeRouteLeave router hook. Check implementation in the official vue router documentation. This will fire before the router.go is called

You could also use one of the component lifecycle hooks - beforeDestroy. if your component is getting unmounted. So, you can fire your function inside the beforeDestroy method.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...