vue-router传参的几种方式

1、前言

        vue-router的路由跳转时传递参数有两种方式:

            1.  一种是路由参数,通过定义动态路由传递参数

            2.  另一种是通过query来传递参数

        再者,已知的路由跳转有两大类:

            一类是<router-link>组件的to跳转

            二是通过编程式导航,通过js命令进行跳转

        那么,两种传参方式,两种跳转方式就会有四种搭配写法

2、动态路由传参

        动态路由传参就是通过params进行传参

        动态路由传参说明:

        1.  动态路由params参数的路由定义格式 /router/:id

        2.  在跳转路由时 id 的部分是动态变化的,例如:/router/1,传递的数据就是 1

3、通过<router-link>组件的to属性传参

路由配置代码

Author组件获取params传参

        但是在跳转路由的时候就有不一样的地方,通过<router-link>组件跳转时,可以使用或不使用动态绑定to属性

3.1.  <router-link>组件不使用动态绑定to属性

代码

3.2.  <router-link>使用动态绑定 to 属性

代码

4、通过命名路由跳转

        在动态绑定 to 属性时,也可以通过命令路由的跳转方式

代码

5、通过编程式导航传参

        编程式路由导航传参就是通过在方法中,添加点击事件加入参数,利用 this.$router.push()或this.$router.replace()去跳转页面。

代码

5.1  通过命名路由跳转

代码

        其实,params传递的参数是有限的,通常来说就是一个字符串或者一串数字,但是如果希望传输的数据更多呢?那么就要用到query传参的方式去传递数据了

6、query传参

query传递数据的方式:首先query方式传递数据,路由的配置就是普通路由配置/router,如果有其他特殊情况另说,传递参数的方式,跳转路由时动态绑定的对象中使用 query 的key作为传递方式。

6.1、开发需求示例

        需求分析:当我们点击不同的作者,要将作者的姓名,以及不同作者的不同作品传递到组件中,这样就用到了路由传参

        因测试的结果不便用图片形式展示,因此暂时使用的是一个gif录屏软件录制的

测试结果

6.2  标签跳转的方式

        此时需注意,如果使用在<router-link>组件进行路由跳转时传递query参数,那么to属性只能通过动态绑定的方式传递。

代码

        此时动态绑定的to属性中,name是通过命名路由进行跳转的,params是在跳转路由时,处理导航文字,因为只有匹配成功的导航才会有router-link-active类名,query就是我们在跳转路由时,需要向组件中传递的所有数据。

6.3  编程路由跳转


链接:https://www.jianshu.com/p/256b2f51963f

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值