
1. vue 项目如何获取路由参数
在 Vue 2 中使用 Vue Router 时,可以通过 $route.query 对象来访问路由的查询参数。
这里是如何获取这些参数的基本方法:
1.1. 在组件中获取查询参数
假设你的路由配置如下:
const routes = [
{
path: '/example',
name: 'Example',
component: ExampleComponent
}
]如果用户访问了 /example?param1=value1¶m2=value2,那么你可以在 ExampleComponent 组件中通过以下方式获取到 param1 和 param2 的值:
export default {
name: 'ExampleComponent',
mounted() {
// 获取单个查询参数
const param1 = this.$route.query.param1;
console.log(param1); // 输出: value1
// 获取所有查询参数
const allParams = this.$route.query;
console.log(allParams); // 输出: { param1: 'value1', param2: 'value2' }
// 监听查询参数的变化(例如当用户点击浏览器的前进或后退按钮时)
this.$watch('$route.query', (newQuery, oldQuery) => {
console.log('Query changed from', oldQuery, 'to', newQuery);
});
}
}1.2. 在导航守卫中获取查询参数
如果你需要在导航守卫(如 beforeEach)中处理查询参数,可以这样做:
router.beforeEach((to, from, next) => {
const queryParam1 = to.query.param1;
console.log(queryParam1); // 如果存在 param1 参数,则输出其值
next();
})1.3. 使用 this.$route.query 的注意事项
$route.query 会自动更新。$route.query 的变化。以上就是在 Vue 2 中如何获取路由查询参数的方法。









