vue-router 原理

133 阅读1分钟

1,实例化Vue对象 2,通过mixin 将router注入到vue中,同时调用router.init()方法,同时定义一个响应式的_router对象

3,router.init 注册了对于地址栏变动的监听
4,transitionTo 获取与当前路径匹配的配置好的路由; 更新当前router对象; 如果是hash模式,onhashChange更新router,如果是history模式,使用pushState/popState更新路由 5,同步视图更新 获取当前路由对象,找到根路由中的所有组件,根据当前路由获取对应组件,使用h函数展示在页面中。