$router.back() 与$router.go(-1)
时间: 2023-08-30 10:11:36 浏览: 230
这两个代码的作用都是返回上一个页面,但是具体实现方式略有不同。
- `$router.back()` 是 Vue Router 提供的方法,作用是返回上一个页面,类似于浏览器的后退按钮。如果浏览器的历史记录中没有上一个页面,则该方法无效。
- `$router.go(-1)` 也是 Vue Router 提供的方法,作用是返回上一个页面,但是它通过指定历史记录的相对位置实现,可以在浏览器历史记录中向前或向后移动。如果历史记录中没有上一个页面,则该方法会返回到当前页面。
因此,在大多数情况下,这两个方法的作用是相同的,但是如果你想要更细致地控制浏览器历史记录,可以使用 `$router.go()` 方法。
相关问题
this.$router.go(-1)返回上一页路由携带的参数会消失吗
和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.go(0);
回答: 当使用this.$router.go(0)时,它会刷新当前页面。具体来说,它会将isRouterAlive属性设置为false,然后使用$nextTick方法将其设置为true,从而触发页面的重新渲染。这样做可以达到刷新页面的效果。\[2\]
#### 引用[.reference_title]
- *1* [Vue------this.$router.back()、this.$router.go()的异同](https://blog.csdn.net/COCOLI_BK/article/details/125008955)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [vue 刷新当前页面,使用this.$router.go(0)闪白问题(使用provide / inject)](https://blog.csdn.net/a460550542/article/details/125102866)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文