vue-router 传参

102 阅读1分钟

query

  1. query 传参,参数会在 url 路径中显示,刷新后不消失
  2. 跳转的路径可以是name,也可以是path
  3. 新页面接收:route.query router.push({ name: 'ManageEdit', query: row })

params

  1. params 传递的参数在 url 中不显示,刷新后跳转的页面获取不到传递的参数
  2. 跳转的路径的写法必须是name
  3. 新页面接收route.params
  4. 当 props 设置为 true 时,route.params 将被设置为组件的props router.push({ name: 'ManageEdit', params: row })

动态路由参数

路由表中定义:

  1. 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 }]