5、vue-router之什么是编程式路由

前言:编程式路由在我们的项目使用过程中最常用的的方法了。
GitHub:https://github.com/Ewall1106/mall

什么是编程式路由呢?就是通过写js代码来实现页面的跳转

1.router.push('name'); 或者router.push({path: 'name'});

首先我们来讲讲简单的,上面两个方法记住,等效的。
① 还是在test.vue组件里面写个div并给它添加一个click跳转事件:

img_0cb09730de88e4cf280c417c4a66e184.png
div上添加一个click点击事件

② 在view文件下新建一个goods.vue

img_5bb911b7fbb2759311048c365b220992.png
goods.vue

③ 在router中引入这个goods组件

img_5e78705d317da5884f50e9c75ac99528.png
路由

④ 打开路径为test的页面并点击

img_ca9e952a40f893e52aa7da653c5f5ff6.png
localhost

⑤ ok,点一下我们就到goods页面了,实现了跟router-view标签一样的效果

img_236e344abd6d3dbf35057f27bd7c0cc0.png
goods页面

Ok,到这里我们已经实现了编程式路由的跳转了,接下来我们来试试路由携带参数跳转并接受参数。

2.router.push({path: 'name?a=123'}) 或者router.push({path: 'name',query:{a:123}})这两种方式都可以

话不多说,看图你应该能看懂:

img_921ba9de5a6ddc893626cd74b5175e73.png
路由跳转并携带参数

② 在goods.vue中输入

提醒一句,这里的获取上一级页面传过来的参数是$route.query.goodsId,是$route不是$router

img_aa35f66931004cf5940311a60619615e.png
goods.vue

③ ok,我们就可以看到页面中显示上级页面传过来的参数了:

img_4cef6b47b29448017776b55bc6ae2940.png
localhost
img_c8d4026b8c21a8991eb5fbb670e11c28.png
goods.vue

3.$router.go();

这个就随意提一下,就是类似于history.go()的方法,括号里面填个1就是前进一级页面,-1就后退一级页面。差不多就是这样。

参考学习
https://router.vuejs.org/zh-cn/
https://developer.mozilla.org/zh-CN/docs/Web/API/History
https://www.jianshu.com/p/3036137769da
https://www.jianshu.com/p/f499d9f64958

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值