区别
1.replace:
- this.$router.replace用于替换当前路由,不会留下历史记录。
- 当使用replace导航时,新的路由将替换当前路由,当前页面不会保留在历史栈中,所以用户不能回退到前一个页面。
例子:
this.$router.replace('/new-route');
2.push:
- this.$router.push用于推入新的路由,会保留历史记录。
- 当使用push导航时,新的路由将被推入历史栈中,用户可以通过浏览器的回退按钮返回到前一个页面。
例子:
this.$router.push('/new-route');
使用场景
当你执行某个操作后需要跳转到一个全新的页面,而不希望通过按钮回到前一个页面时,推荐使用replace;如果你希望能够回退到前一个页面,推荐使用push