在Vue中利用数据劫持defineProperty在原型prototype上初始化了一些getter,分别是router代表当前Router的实例 、 router代表当前Router的实例、
router代表当前Router的实例、route 代表当前Router的信息。
在install中也全局注册了router-view,router-link,其中的Vue.util.defineReactive, 这是Vue里面观察者劫持数据的方法,劫持_route,
当_route触发setter方法的时候,则会通知到依赖的组件。
接下来在init中,会挂载判断是路由的模式,是history或者是hash,点击行为按钮,
调用hashchange或者popstate的同时更_route,_route的更新会触发route-view的重新渲染。
标签:劫持,Vue,route,Router,router,路由,底层
From: https://www.cnblogs.com/ltwlh/p/16867400.html