vue-router 路由传参

路由传参的方式主要有两种:params 和 query.

接下来我们先定义两个路由 ‘/home’ 和 ‘/profile’ 来分别看看这两种传参方式各自的用法和区别,下面的测试都是从路由 ‘/home’ 跳转到 ‘/profile’ ,参数也是从 ‘/home’ 传到 ‘/profile’ 。

    {
        path:'/home',
        component:Home,
    },
    {
        path:'/profile',
        component:ProFile
    },

 

  params 传参

1、使用 router-link 路由导航(此方法在路径中显示参数,页面刷新参数不丢失

1)路由要进行如下配置(nums 相当于为传递的参数占位):

  vue-router 路由传参

2)home 页面传递:

  vue-router 路由传参

  如果传递的参数在 data 里面,router-link 路由跳转时可以进行动态绑定:

  vue-router 路由传参

3)profile 页面 params 获取:

  vue-router 路由传参

4)浏览器显示:

   vue-router 路由传参

 

2、调用 $router.push.此方法不在路径中显示参数,页面刷新参数丢失

1)获取数据的路由需要添加 name 属性

  vue-router 路由传参

 2)home 页面传递:

  vue-router 路由传参

3)profile 页面 params 获取:

  vue-router 路由传参

 4)浏览器显示:

  vue-router 路由传参

 

  query 传参

1、使用 router-link 路由导航.(在路径中 ?后面显示参数,刷新页面参数不丢失)

1)路由不需要进行任何特殊配置

2)与 query 传参进行匹配的是 path

  vue-router 路由传参

 3)profile 页面 query 获取:

  vue-router 路由传参

 4)浏览器显示:

  vue-router 路由传参

 

2、调用 $router.push.(在路径中 ?后面显示参数,刷新页面参数不丢失)

1)路由不需要进行任何特殊配置

2)与 query 传参进行匹配的是 path

 vue-router 路由传参

 3)profile 页面 query 获取:

  vue-router 路由传参

 4)浏览器显示:

  vue-router 路由传参

 

  总结

  • params 不在路径中显示参数,页面刷新参数丢失(相当于post); query 在路径中 ?后面显示参数,刷新页面参数不丢失(相当于get)。
  • params 传参的时候只能使用name进行引入;query 传参的时候name,path都可以引入。
  • params是路由的一部分,必须要在路由后面添加参数名,如果这个路由有params传参,但是在跳转的时候没有传这个参数,会导致跳转失败或者页面会没有内容;query 是拼接在url后面的参数,没有也没关系。

 

上一篇:win10如何禁止开机启动项


下一篇:vue-router 中的多级路由 路由传参 命名路由 路由的params参数