前端路由简介以及vue-router实现原理( 三 )
到这里其实也就差不多了 , 接下来我们顺带着实现几个API吧:
/*** 跳转 , 添加历史记录* @param location* @example this.push({name: 'home'})* @example this.push('/')*/push (location) {const targetRoute = match(location, this.router.routes)this.transitionTo(targetRoute, () => {changeUrl(this.router.base, this.current.fullPath)})}/*** 跳转 , 添加历史记录* @param location* @example this.replaceState({name: 'home'})* @example this.replaceState('/')*/replaceState(location) {const targetRoute = match(location, this.router.routes)this.transitionTo(targetRoute, () => {changeUrl(this.router.base, this.current.fullPath, true)})}go (n) {window.history.go(n)}function changeUrl(path, replace) {const href = http://kandian.youth.cn/index/window.location.hrefconst i = href.indexOf('#')const base = i >= 0 ? href.slice(0, i) : hrefif (replace) {window.history.replaceState({}, '', `${base}#/${path}`)} else {window.history.pushState({}, '', `${base}#/${path}`)}}
源码:
今天给到大家福利是《Vue.js源码全方位深入解析 (含Vue3.0源码分析)》 , 领取方式 , 转发+点赞 , 私信我 "源码" ,即可免费获取 。
推荐阅读
- 路由器|路由器要定时按这个键,很多人不懂,难怪网速又慢又卡
- 4×4mimo/160MHz满血全开!小米路由器AX6000评测:599元Wi-Fi 6新王者
- 计算机专业大三学生,如果想主攻前端开发,该重视哪些内容
- 2021年买旗舰和路由认准160MHz:享受快一倍的WiFi 6网速
- 涉足水利行业,蒲公英4G工业路由器助力IOT智能互联
- 599元!小米路由器AX6000发布:6000兆无线 2500兆全速网口
- 普通大学计算机专业的本科生,该选择主攻前端还是Java
- 6000兆无线史上最强!小米路由器AX6000开箱图赏
- 小米发布高端路由器AX6000,首发支持WiFi6增强版和4K QAM技术
- 米家设备一键联网小米AX3600路由器固件更新