回顾vue源码理解到哪记录到哪

vue.use(VueRouter)   咱们经常看到vue上面会通过use调用一些方法,那么这些方法到底执行了什么呢?

其实每个第三方插件都是一个具有install 方法的类,在vue.use(VueRouter)的那一刻,会执行VueRouter里面的install方法。如果没有install方法会把plugin当成函数来执行

install方法里面有这个 mixin  老朋友。mixin其实很简单就是将对象合并在一起的方法 vue.mixin({

  beforeCreate(){

    /*混入逻辑*/

  }

})

翻了源码发现setUpListeners,它主要做两件事第一个监听hashChage事件,另一个就是路由切换滚动位置的处理

 

vue2 defineProperty 可以监听数组 以下标作为key 但是新增的就监听不了了 需要手动监听 另外 改变数组key会触发get set 所以的重写

vue3 proxy可以监听数组 包括新增的 但是改变数组key依旧会触发get set 还得重写 并且proxy只能监听一层 嵌套的监听不了 就得手动返回新proxy

posted @ 2021-01-04 19:15  国服第一李师师  阅读(62)  评论(0编辑  收藏  举报