解析Vue2中use的实现原理

236 阅读1分钟

前言:

在解析toast的兼容性的时候,就给大家提到过vue.use的使用方法,同时也解释过如何使用vue.use 但是很多同学估计都是一知半解所以今天给大家逐行解析下use实现原理。以便后来自己编写的时候,使用Vue.use需要注意到的内容。

    1. 通过上图的方法【initUse】我们可以看到。其实use方法就是一个静态方法。可以通过方法直接调用。不需要使用实例进行调用
    1. const installledPlugins = (this._installedPlugins || []) 以及下面的if判断方法表明。首先定义一个数组,用来存放已经use过的插件,如果发现插件已经在缓存中了 直接返回this实例
    1. const args = toArray(arguments, 1); args.unshfit(this); 获取参数。把vue的实例添加进入
    1. 判断参数是否是个对象,对象中属性install 是否是个方法。如果是的话 直接执行。反之参数本身是否是个方法。如果是直接执行。最后把使用过的plugin 添加到缓存中。避免下次重复添加