技术文摘
Vue3 中运用 Router 路由实现跳转传参的方法
Vue3 中运用 Router 路由实现跳转传参的方法
在 Vue3 开发中,使用 Router 路由实现页面跳转并传递参数是常见需求。合理运用路由传参能使页面间的数据交互更流畅,提升应用的用户体验。本文将详细介绍 Vue3 中运用 Router 路由实现跳转传参的方法。
1. 动态路由参数
动态路由参数是在路由路径中定义参数,通过这种方式可以将特定信息传递到目标页面。在 router/index.js 文件中定义路由时设置动态参数。例如:
const routes = [
{
path: '/user/:id',
name: 'User',
component: () => import('@/views/User.vue')
}
];
这里的 :id 就是动态参数。在跳转时,可以这样写:
<router - link :to="`/user/${userId}`">查看用户</router - link>
在目标组件 User.vue 中,可以通过 $route 对象获取参数:
export default {
setup() {
const route = useRoute();
const userId = route.params.id;
console.log(userId);
}
};
2. query 参数
query 参数以查询字符串的形式附加在 URL 后面。定义路由时无需特殊设置。在跳转时传递参数:
<router - link :to="{ path: '/home', query: { name: '张三', age: 25 } }">跳转到主页</router - link>
在目标组件中获取参数:
export default {
setup() {
const route = useRoute();
const name = route.query.name;
const age = route.query.age;
console.log(name, age);
}
};
query 参数的优点是传递的数据会显示在 URL 中,方便调试,但安全性相对较低,不适合传递敏感信息。
3. 路由守卫传参
路由守卫可以在路由切换前、切换后等阶段进行一些操作,也可以用来传参。例如,在 router/index.js 中使用 beforeEach 守卫:
router.beforeEach((to, from, next) => {
to.meta.userId = '123';
next();
});
在目标组件中获取参数:
export default {
setup() {
const route = useRoute();
const userId = route.meta.userId;
console.log(userId);
}
};
掌握 Vue3 中 Router 路由跳转传参的这些方法,能在开发中更高效地实现页面间的数据传递,满足各种业务需求,打造功能更强大、交互更流畅的应用程序。
TAGS: Vue3 Router路由 跳转传参 Vue3路由跳转传参
- 索引构建顺序怎样影响查询速度:区分度高的字段该排在索引前面吗
- MySQL 从哪个版本开始支持!= 运算符
- MySQL 删除数据会用索引吗?以联合索引探讨如何判断删除操作是否用索引
- MySQL 倒排索引在实际应用中鲜为人用的原因
- 分表场景中怎样高效达成有序分页查询
- MySQL查询出现“No index used in query/prepared statement”错误如何解决
- MySQL主键自动排序:新记录插入位置是否按主键排序
- 闭包表:怎样快速获取节点的祖先、父节点与子节点
- 数据库报错 No index used in query/prepared statement 如何解决
- Druid抛出discard long time none received connection警告的原因
- MySQL 如何按性别对学生分组并提取姓名
- MySQL 数据表插入新行时主键是否自动排序
- MySQL 如何进行分组查询以获取性别合计与姓名
- 怎样借助闭包表快速获取节点的祖先、子节点及父节点信息
- 怎样用 SQL 语句按性别分组并合并学生姓名