Vue Router路由导航及传参方式
Vue Router路由导航及传参方式
  1. <router-link :to="...">
  1. router.push(...)
  1. // 字符串
  2. router.push('home')
  1. // 对象
  2. router.push({ path: 'home' })
  1. //浏览器地址栏中显示参数和不显示参数两种情况主要就是看路由配置
  2. //显示参数的配置
  3. {
  4. name: "user",
  5. path: "/user:userId",
  6. component: Detail
  7. }
  8. // 命名的路由
  9. // params相当与发送了一次post请求,请求参数会显示在浏览器地址栏中,并且刷新页面之后参数不会消失
  10. router.push({ name: 'user', params: { userId: '123' }})
  11. //不显示参数的配置
  12. {
  13. name: "user",
  14. path: "/user",
  15. component: Detail
  16. }
  17. // 命名的路由
  18. // params相当与发送了一次post请求,请求参数不会显示在浏览器地址栏中,并且刷新页面之后参数会消失
  19. router.push({ name: 'user', params: { userId: '123' }})
  20. //统一接收参数方式
  21. this.$route.params.userId
  1. // 带查询参数,变成 /register?plan=private
  2. // query相当与发送了一次get请求,请求参数会显示在浏览器地址栏中
  3. router.push({ path: 'register', query: { plan: 'private' }})
  4. //接收参数方式
  5. this.$route.query.plan
  1. const userId = '123'
  2. router.push({ name: 'user', params: { userId }}) // -> /user/123
  3. router.push({ path: `/user/${userId}` }) // -> /user/123
  4. // 这里的 params 不生效!!
  5. router.push({ path: '/user', params: { userId }}) // -> /user

规则与编程式导航相同,只是写法不同,简单介绍

  1. //params传参
  2. <router-link :to="{ name: 'user', params: { userId: '123' }}">click to news page</router-link>
  3. //接收参数方式
  4. this.$route.params.userId
  5. //query传参
  6. <router-link :to="{ path: 'register', query: { plan: 'private' }}">click to news page</router-link>
  7. //接收参数方式
  8. this.$route.query.plan

版权声明:本文为zhao-menglin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zhao-menglin/p/zhaomenglin.html