Vue源码分析--Vue.use

Vue源码分析–Vue.use

直接上源码吧

export function initUse (Vue: GlobalAPI) {
  // 绑定静态方法 Vue.use(plugin: Function | Object)
  Vue.use = function (plugin: Function | Object) {
    // 每次绑定的插件都要保存到this._installedPlugins 数组中,避免重复绑定
    const installedPlugins = (this._installedPlugins || (this._installedPlugins = []))
    if (installedPlugins.indexOf(plugin) > -1) {
      return this
    }

    // 获取plugin后面的所有参数,并组成数组
    const args = toArray(arguments, 1)
    // plugin方法的第一个参数是Vue
    args.unshift(this)
    if (typeof plugin.install === 'function') {
      // plugin: Object是为了在执行install时,取plugin对象的其他属性
      plugin.install.apply(plugin, args)
    } else if (typeof plugin === 'function') {
      plugin.apply(null, args)
    }
    // 注册成功后,保存到已注册的数组中
    installedPlugins.push(plugin)
    return this
  }
}

再来看看API调用

Vue.use(plugin: Function | Object, ...args)
// plugin: Function 就等价于
plugin(Vue, ...args)
// plugin: Object 
plugin.install(Vue, ...args)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值