query
- query 传参,参数会在 url 路径中显示,刷新后不消失
- 跳转的路径可以是
name,也可以是path - 新页面接收:
route.queryrouter.push({ name: 'ManageEdit', query: row })
params
- params 传递的参数在 url 中不显示,刷新后跳转的页面获取不到传递的参数
- 跳转的路径的写法必须是
name - 新页面接收
route.params - 当
props设置为true时,route.params将被设置为组件的propsrouter.push({ name: 'ManageEdit', params: row })
动态路由参数
路由表中定义:
- props 设置为 true
// 路由表配置
{
path: '/regist/:type',
props: true,
component: () => import('@/views/regist/components/Form.vue'),
meta: { requiresAuth: false, title: '注册', auth: [] },
},
// 组件中使用
const User = {
// 请确保添加一个与路由参数完全相同的 prop 名
props: ['id'],
template: '<div>User {{ id }}</div>'
}
const routes = [{ path: '/user/:id', component: User, props: true }]