router.push params与query
时间: 2024-06-25 10:00:55 浏览: 146
vue.js this.$router.push获取不到params参数问题
5星 · 资源好评率100%
在Vue.js中,`router.push`方法用于导航到一个新的路由,而参数(params)和查询参数(query)用于传递数据。
1. **params**:这些是路由的一部分,通常用于表示动态路由组件中的具体数据。它们存储在URL路径中,以`/:paramName`的形式出现,不会被URL编码,更新路由时会替换掉对应的参数值。例如:
```javascript
this.$router.push('/users/:userId'); // `/users/123`
```
当你在页面上使用`this.$route.params.userId`时,它会返回`123`。
2. **query**:这些是非动态的,附加在URL的查询字符串部分,通常用来传递一些可选或状态相关的数据,比如搜索参数、排序选项等。查询参数会被URL编码,使用`?key=value`的形式。例如:
```javascript
this.$router.push({ path: '/search', query: { keyword: 'Vue.js' } }); // `/search?key=Vue.js`
```
在页面上,你可以通过`this.$route.query.keyword`来访问这个查询参数。
阅读全文