以为不知道怎么返回, 那么也可以使用导航守卫: const UserDetails = { template: `...`, beforeRouteEnter(to, from) { // 在渲染该组件的对应路由被验证前调用 // 不能获取组件实例 `this` ! // 因为当守卫执行时,组件实例还没被创建! }, beforeRouteUpdate(to, from) { // 在当前路由改变,但是该组件被复用时调用 // 举例来说,对于一个带有动态参数的路径 `/users/:id`,在 `/users/1` 和 `/users/2` 之间跳转的时候, // 由于会渲染同样的 `UserDetails` 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。 // 因为在这种情况发生的时候,组件已经挂载好了,导航守卫可以访问组件实例 `this` }, beforeRouteLeave(to, from) { // 在导航离开渲染该组件的对应路由时调用 // 与 `beforeRouteUpdate` 一样,它可以访问组件实例 `this` }, } 可以在离开时存起来, 回来时在加上 > [https://router.vuejs.org/zh/guide/advanced/navigation-> guards....](https://link.segmentfault.com/?enc=hu5BGVJcnYlZbuwHJ7nOfA%3D%3D.i8N9uqmLDyfc9GmS6%2BgMhWOp%2FHTUwqO7Anu%2BAyMlMVFcsJqTYTQfICuJUWl236gtbCnEKOp9hzoV766Fx76fKvaBDUt%2FlQCwAaop9Hg7kIyCYbzvISG7lJhxV79lWMgmwNz5p8GRGxygI%2FRMzthMZs5VN5BclN98TRMvIfgO2R8%3D) 使用`keepalive`就行了, 改动非常小, 使用vue, 可以根据目前的项目架构全局加应该也非常方便 > [https://cn.vuejs.org/guide/built-ins/keep-> alive.html](https://link.segmentfault.com/?enc=oGpvCjTE03zfVwI9LZo8HQ%3D%3D.S7SeuEA2Itgxc9xDjSSQO2Bb4yPg1RX55zvfIWKvD3U9PduZ0ZfqpWI7E8bMuGQVm2jzAvK9kzMUXWaWMyaAnw%3D%3D)