Vue Router 是Vue.js的官方路由。它与Vue.js 核心深度集成,让用Vue.js构建单页应用变得轻而易举。功能包括:
- 嵌套路由映射
- 动态路由选择
- 模块化、基于组件的路由配置
- 路由参数、查询、通配符
- 展示由Vue.js的过度系统提供的过渡效果
- 细致的导航控制
- 自动激活CSS类的链接
- HTML5 history 模式或 hash 模式
- 可定制的滚动行为
- URL 的正确编码
router-link:
使用一个自定义组件 router-link 来创建链接。这使得 Vue Router 可以在不重新加载页面的情况下更改 URL,处理 URL 的生成以及编码。
router-view:
router-view 将显示与 url 对应的组件。可以把它放在任何地方,以适应布局。
完整的导航解析流程:
- 导航被触发;
- 在失活的组件里调用 beforeRouteLeave 守卫;
- 调用全局的 beforeEach 守卫;
- 在重用的组件里调用 beforeRouteUpdate 守卫(2.2+);
- 在路由配置里调用 beforeEnter ;
- 解析异步路由组件;
- 在被激活的组件里调用 beforeRouteEnter ;
- 调用全局的 beforeResolve 守卫(2.5+);
- 导航被确认;
- 调用全局的 afterEach 钩子;
- 触发 DOM 更新;
- 调用 beforeRouteEnter 守卫中传给 next 的回调函数,创建好的组件实例会作为回调函数的参数传入。