Vue-router:query和params传参

传参是this.$router ,接收参数是this.$route

$router : 是路由操作对象,只写对象

$route : 路由信息对象,只读对象


query

可使用命名或path的路由

地址栏可见,请求类似 localhost:4396/user?id=3

在目标页面使用this.$route.query.id来获取

例:

router.push({

  name: 'user', 

  query: { 

    id: 123

  }

})

router.push({

  path: '/user', 

  query: { 

    id: 123 

  }

})

params

只能使用命名的路由

地址栏不可见,请求类似 localhost:1234/user

在目标页面使用this.$route.params.id来获取

例:

router.push({

  name: 'user', 

  params: { 

    id: 123 

  }

})


注意:使用params传值的话,目标页面刷新后就会丢失params的值。如果要保留的话,可在router.js中配置目标页面的path

例:

{

        path: 'user/:id',

        name: 'user',

        meta: {

          title: '参数'

        },

        component: () => import('@/views/user.vue'),

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容