详解this.$router.push
时间: 2023-07-17 07:56:58 浏览: 81
这是 Vue.js 中的路由跳转方法。$router 是 Vue.js 框架中的路由实例,而 push 方法用来跳转到指定的页面。可以在 push 方法中传入一个对象,包含跳转的路径和需要传递的参数。例如:
```
this.$router.push({ path: '/user/123', query: { name: 'Mike' } });
```
这样就可以在目标页面获取到参数,使用 this.$route.query.name 获取到 'Mike'。
相关问题
this.$router.resolve和$router.push 区别
this.$router.resolve和$router.push都是Vue Router中的方法,用于导航到不同的路由。
this.$router.push用于在当前窗口中导航到指定的路由。它接收一个路由对象作为参数,通过指定路由的名称、参数、查询等信息来生成目标路径,并进行导航跳转。例如,this.$router.push({name: 'details', params: {'id': 233}})表示要导航到名为details的路由,并且传递了id参数为233。这个方法会改变当前的URL,并加载相应的组件。
而this.$router.resolve方法不会进行实际的导航跳转,它只是用于解析目标路由的信息。它也接收一个路由对象作为参数,并返回一个包含目标路由信息的对象。这个方法可以用于获取目标路由的URL,以便在新窗口中打开。例如,const {href} = this.$router.resolve({name: 'foo', query: { bar }})会生成名为foo的路由的URL,并将其赋值给href变量,然后可以使用window.open方法在新窗口中打开这个URL。
所以,$router.push用于实际的导航跳转,而$router.resolve用于解析目标路由的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [详解新手使用vue-router传参时注意事项](https://download.csdn.net/download/weixin_38557980/13590198)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [vue的跳转方式——window.open & router-link标签 & this.$router.push跳转 & this.$router.replace跳转 & ...](https://blog.csdn.net/weixin_44867717/article/details/120503404)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
$router.go使用方法详解
$router.go() 是 Vue Router 提供的一个方法,用于在浏览器的历史记录中向前或向后移动。该方法可以接收一个数字作为参数,表示向前或向后移动的步数,例如:
```javascript
// 向前移动一步
this.$router.go(1);
// 向后移动一步
this.$router.go(-1);
```
此外,$router.go() 还可以接收一个字符串作为参数,表示要移动到的路由地址,例如:
```javascript
// 移动到 '/about' 路由
this.$router.go('/about');
```
需要注意的是,如果要使用 $router.go() 方法移动到的路由地址不存在,则会导致跳转失败。因此,在使用该方法时,建议先使用 $router.push() 方法进行路由跳转,确保要跳转的路由地址是存在的。
阅读全文