前言:编程式路由在我们的项目使用过程中最常用的的方法了。
GitHub:https://github.com/Ewall1106/mall
什么是编程式路由呢?就是通过写js代码来实现页面的跳转
1.$router.push('name'); 或者 $router.push({path: 'name'});
首先我们来讲讲简单的,上面两个方法记住,等效的。
① 还是在test.vue
组件里面写个div并给它添加一个click
跳转事件:
② 在view
文件下新建一个goods.vue
③ 在router
中引入这个goods
组件
④ 打开路径为test的页面并点击
⑤ ok,点一下我们就到goods页面了,实现了跟router-view标签一样的效果
Ok,到这里我们已经实现了编程式路由的跳转了,接下来我们来试试路由携带参数跳转并接受参数。
2.$router.push({path: 'name?a=123'}) 或者 $router.push({path: 'name',query:{a:123}})这两种方式都可以
话不多说,看图你应该能看懂:
② 在goods.vue中输入
提醒一句,这里的获取上一级页面传过来的参数是$route.query.goodsId
,是$route
不是$router
:
③ ok,我们就可以看到页面中显示上级页面传过来的参数了:
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