1. 查询参数(query)
查询参数通常附加在URL的查询字符串中,例如:/user?id=123
。
首先,你需要在路由定义中不需要做特别设置。然后,在组件中,你可以通过$route.query
对象来获取查询参数。
路由定义
export default {mounted() {const id = this.$route.query.id;console.log(id); // 输出:123}
}
跳转时设置参数
你可以使用<router-link>
组件或$router.push
方法来设置查询参数。
<!-- 使用<router-link> -->
<router-link :to="{ path: '/user', query: { id: 123 } }">User</router-link>
组件中获取参数
<!-- 使用<router-link> -->
<router-link :to="{ name: 'user', params: { id: 123 } }">User</router-link>
或者
javascript// 使用$router.push
this.$router.push({ name: 'user', params: { id: 123 } });
注意,当使用params
进行路由传参时,你需要在路由定义中给路由设置一个名字(name
),然后通过名字和参数对象进行跳转。这是因为params
是与路由一一对应的,如果路由没有定义参数,那么$route.params
就是空的。而query
则不需要路由定义,直接附加在url后面就可以了。