路由 props 有布尔、对象、函数三种模式:布尔模式自动映射 params;对象模式传静态配置;函数模式可合并 params/query、类型转换、设默认值;嵌套路由和命名视图需单独配置。

直接把路由参数变成组件的 props,组件就不再依赖 $route,能独立复用、单独测试,也不用在模板或逻辑里写 this.$route.params.id 这类耦合代码。
布尔模式:适合简单 params 映射
当路径含动态段(如 /user/:id),且组件 prop 名和参数名一致时,设 props: true 最省事。
- 路由配置:
{ path: '/user/:id', component: User, props: true } - User 组件只需声明
props: ['id']或defineProps({ id: String }) - 注意:只处理
params,不包含query(?q=xxx)或hash
对象模式:传固定配置项
给组件塞与 URL 无关的静态值,比如页面标题、开关状态、权限标识等。
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
- 路由配置:
{ path: '/admin', component: AdminPanel, props: { title: '后台管理', editable: false } } - 组件接收
props: ['title', 'editable'],直接使用 - 适用场景:营销页弹窗开关、默认主题、是否启用编辑等
函数模式:灵活控制所有参数来源
需要合并 params、query、类型转换、兜底默认值时,用函数返回纯对象。
- 示例:
props: ({ params, query }) => ({ id: Number(params.id), keyword: query.q || '', tab: query.tab || 'info' }) - 可做:字符串转数字/布尔、缺省值填充、字段重命名、过滤敏感参数
- 推荐显式解构
params和query,逻辑清晰,便于维护
嵌套路由和命名视图要单独配
嵌套路由不是自动继承父级 props;命名视图(如 default 和 sidebar)也需分别指定策略。
- 子路由也要单独写
props: true或函数,不能指望父路由“带一带” - 多视图配置示例:
props: { default: true, sidebar: { showAvatar: true } } - 若在
<router-view>标签上写了:props,会覆盖路由配置里的props


















