Vue-Router

路由的概念相信⼤部分同学并不陌⽣,它的作⽤就是根据不同的路径映射到不同的视图。我们在⽤ Vue    开发过实际项⽬的时候都会⽤到    Vue-Router    这个官⽅插件来帮我们解决路由的问题。Vue-Router 的能⼒⼗分强⼤,它⽀持        hash    、    history    、    abstract        3    种路由⽅式,提供了            和                2    种组件,还提供了简单的路由配置和⼀系列好⽤的    API。

⼤部分同学已经掌握了路由的基本使⽤,但使⽤的过程中也难免会遇到⼀些坑,那么这⼀章我们就来 深挖    Vue-Router    的实现细节,⼀旦我们掌握了它的实现原理,那么就能在开发中会路由的使⽤更加游 刃有余。

同样我们也会通过⼀些具体的⽰例来配合讲解,先来看⼀个最基本使⽤例⼦:


Vue-Router_第1张图片

Vue-Router_第2张图片

Vue-Router_第3张图片

Vue-Router_第4张图片

Vue-Router_第5张图片

VueRouter    对象 

Vue-Router_第6张图片Vue-Router_第7张图片

 

Vue-Router_第8张图片

Vue-Router_第9张图片Vue-Router_第10张图片Vue-Router_第11张图片

Vue-Router_第12张图片

matcher

Vue-Router_第13张图片

Vue-Router_第14张图片

Vue-Router_第15张图片Vue-Router_第16张图片

 

Vue-Router_第17张图片

Vue-Router_第18张图片

Vue-Router_第19张图片

Vue-Router_第20张图片

Vue-Router_第21张图片

 

Vue-Router_第22张图片

Vue-Router_第23张图片

Vue-Router_第24张图片

Vue-Router_第25张图片

总结

那么到此,    matcher        相关的主流程的分析就结束了,我们了解了    Location    、    Route    、    RouteRecord        等概念。并通过        matcher        的        match        ⽅法,我们会找到匹 配的路径        Route    ,这个对        Route        的切换,组件的渲染都有⾮常重要的指导意义。下⼀节我们会回 到        transitionTo        ⽅法,看⼀看路径的切换都做了哪些事情。
 

路径切换    

Vue-Router_第26张图片

 

Vue-Router_第27张图片

Vue-Router_第28张图片

Vue-Router_第29张图片

导航守卫 

 

Vue-Router_第30张图片

Vue-Router_第31张图片

Vue-Router_第32张图片

Vue-Router_第33张图片

Vue-Router_第34张图片

Vue-Router_第35张图片

Vue-Router_第36张图片

Vue-Router_第37张图片

Vue-Router_第38张图片

Vue-Router_第39张图片

Vue-Router_第40张图片

Vue-Router_第41张图片

Vue-Router_第42张图片

Vue-Router_第43张图片

Vue-Router_第44张图片

Vue-Router_第45张图片

Vue-Router_第46张图片

Vue-Router_第47张图片

Vue-Router_第48张图片

 

Vue-Router_第49张图片

Vue-Router_第50张图片

总结

那么⾄此我们把路由的        transitionTo        的主体过程分析完毕了,其他⼀些分⽀⽐如重定向、别名、滚 动⾏为等同学们可以⾃⾏再去分析。 路径变化是路由中最重要的功能,我们要记住以下内容:路由始终会维护当前的线路,路由切换的时 候会把当前线路切换到⽬标线路,切换过程中会执⾏⼀系列的导航守卫钩⼦函数,会更改    url,同样也 会渲染对应的组件,切换完毕后会把⽬标线路更新替换当前线路,这样就会作为下⼀次的路径切换的 依据。
 

你可能感兴趣的:(vue.js)