I think you problem is more of Vue problem than GSAP. If you have a Button "Enter" and want to reverse the Animation before going to the next page. You could simple create a eventlistener on that Button run the tl.reverse and onComplete run nav to the page you want. It is far more simple than trying to complicate routing. With Vue you can create your custom transitions or use routing methods as Detailed in their Docs. With Gsap you create any of the animations. I added a regular tween example from a Vue project and you can insert your timeline or reference the timeline and call tl.reverse()
document.querySelector('#button')
.addEventListener('click', (e) => {
e.preventDefault()
gsap.to('#app', {
opacity: 0
})
gsap.to(camera.position, {
z: 25,
ease: 'power1.inOut',
duration: 2
})
gsap.to(camera.rotation, {
x: 1.57,
ease: 'power1.inOut',
duration: 2
})
gsap.to(camera.position, {
y: 1000,
ease: 'power1.in',
duration: 1,
delay: 1.5,
onComplete: () => {
this.$router.push('/page')
}
})
})