vue 插件开发
【代码】vue 插件开发。
·
一见如故
- vue插件就是一个install方法,或者有install方法的对象,在组件实例化或者挂载之前use()就行了
- install方法的第一个参数就是app或者Vue,所以可以加一些全局的东西
- 作用:加全局组件、指令,全局方法等
示例代码
// install.js
export default obj = {
install (app, options) {
app.component('xx', xx)
}
}
// main.js
import obj from '...'
createApp(App).use(obj).mount('#app')
vue2 use源码
Vue.use = function (plugin) {
var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));
// 防止重复注册插件
if (installedPlugins.indexOf(plugin) > -1) {
return this
}
var args = toArray(arguments, 1);
// 这里的this是Vue构造函数,把它放在参数的第一个位置,这就是install第一个参数是Vue的原因
args.unshift(this);
//如果插件中有install方法就执行插件的install方法
if (typeof plugin.install === 'function') {
plugin.install.apply(plugin, args);
// 如果插件是一个方法,就直接执行这个方法
} else if (typeof plugin === 'function') {
plugin.apply(null, args);
}
installedPlugins.push(plugin);
return this
};
更多推荐
已为社区贡献2条内容
所有评论(0)