Vue源码笔记——全局API

vue.use(options)

  1. vue.use(options)注册一个第三方插件,option为对象则调用函数的install方法,为函数则直接执行该函数。
  2. 进行插件缓存,保证只注册一次
  3. vue.use使用splice把Vue放到了参数数组第一位。install(Vue,…args){}

vue.mixin(options)

  1. 在Vue的全局配置上合并options配置,(组件在生成VNode时会将该全局配置合并到自身配置上)
  • 标准化options对象上的props、inject、derective选项格式
  • 合并options上的extends和mixin到全局配置
  • 合并options和全局配置

vue.component(name,cmpt)

  1. 注册全局组件,本质是将组件配置注册到全局配置的components属性上(组件生成VNode时将全局的components合并到组件配置)

vue.derective(‘my-derective’,function)

原理同vue.component(filter等类似)

vue.extend(options)

通过Vue的构造器创建一个子类,options作为该子类默认全局配置(一大用处是内置公共配置,mixin也可以实现)

vue.nextTick(cb)

  1. 数据变更触发依赖通知更新,将负责更新的watcher放入watcher队列
  2. 将watcher放入callbacks数组
  3. 浏览器异步任务队列放入放入舒心callBacks数组的函数
  4. Vue.nextTick后push到callBacks后
  5. 执行顺序flushCallback——》watcher.run——》更新dom——》nextTick的cb
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享