this.$router.go(-1)返回上一页路由携带的参数会消失吗
时间: 2024-04-23 11:22:58 浏览: 18
和this.$router.back()` 方法类似,`this.$router.go(-1)` 方法返回上一页时,上一页的路由信息和参数也会保留,不会丢失路由参数。
如果你需要在返回上一页时传递参数,可以使用 `query` 或 `params` 参数进行传递。例如,如果你要传递一个名为 `id` 的参数,可以这样调用 `this.$router.go(-1, {query: {id: yourId}})` 或 `this.$router.go(-1, {params: {id: yourId}})`,这样返回上一页时,参数会被带回并可以在上一页的组件中进行处理。
相关问题
this.$router.back()返回上一页路由携带的参数会消失吗
`this.$router.back()` 返回上一页时,上一页的路由信息和参数都会保留。因为这个方法是浏览器的前进/后退功能,实际上是从浏览器的历史记录中取出上一页的信息并展示出来,所以不会丢失路由参数。
如果你需要在返回上一页时传递参数,可以使用 `query` 或 `params` 参数进行传递。例如,如果你要传递一个名为 `id` 的参数,可以这样调用 `this.$router.back({query: {id: yourId}})` 或 `this.$router.back({params: {id: yourId}})`,这样返回上一页时,参数会被带回并可以在上一页的组件中进行处理。
使用了this.$router.replace,this.$router.go(-1)返回不了上一个页面
在使用this.$router.replace和this.$router.go(-1)时,实际上是更改了浏览器的历史记录,使得无法通过浏览器的返回按钮回到上一个页面。
如果想要返回上一个页面可以使用this.$router.back()方法,这个方法可以直接回到上一个路由页面,而不会更改浏览器的历史记录。如果需要传递参数,则可以使用query或params来传递。
此外,如果需要通过代码控制跳转到其他页面,可以使用this.$router.push()方法,它会把新的页面加入到浏览器的历史记录中,可以通过浏览器的返回按钮回到上一个页面。