跳到主要内容

用法

安装 Vue.js 插件。如果插件是一个对象,必须提供 install 方法。如果插件是一个函数,它会被作为 install 方法。install 方法调用时,会将 Vue 作为参数传入。

该方法需要在调用 new Vue() 之前被调用。

当 install 方法被同一个插件多次调用,插件将只会被安装一次。

源码

function initUse(Vue) {
Vue.use = function (plugin) {
// 定义插件
var installedPlugins = this._installedPlugins || (this._installedPlugins = []);
// 插件只会注册一次,如果存在则返回
if (installedPlugins.indexOf(plugin) > -1) {
return this;
}
// 如果插件不存在
// additional parameters 附加参数
var args = toArray(arguments, 1); // 把类数组转换为真是的数组
args.unshift(this); // 向前添加this到 args 为什么要把this添加到哦 args 的第一个位置呢?
// 因为和 install 的传递的参数有关,第一个参数是 Vue 构造器,第二个参数是一个可选的选项 options
if (typeof plugin.install === 'function') {
plugin.install.apply(plugin, args);
} else if (typeof plugin === 'function') {
plugin.apply(null, args);
}
installedPlugins.push(plugin);
return this;
};
}

参看