Vue中自定义组件全局注册安装

有没有考虑过一个问题,在Vue中为什么我们安装了ElementUI或者Antd之后,只需要在main.js中引入ElementUI并use(ElementUI),就可以在项目的任何组件中直接使用Element的任何组件?
那我们自己定义的组件可不可以实现这种操作呢?而不是在组件中引入一个个的组件去使用。
在这里插入图片描述
在这里插入图片描述
还像上面这样使用?在PassWordReset组件中引入了TopTip,在ForgetPwd中也引入了TopTip。那就不够优雅了!
看我下面的写法,创建一个js文件,名字你可自定义,我这里写了cgi.js,
并在里面写入内容:

//导入自定义组件
import TopTip from "../components/TopTip";

//写进数组,方面接下来的遍历
const componentArr = [TopTip]

const cgi = {
//install为Vue中的默认写法,我们在main.js中使用cgi,项目会自动执行install方法
//此方法还会接收一个参数 Vue
    install(Vue) {
    //遍历自定义组件 全局使用
        componentArr.forEach(item => {
            Vue.component(item.name, item)
        })
    }
}

export default cgi

main.js中,正常引入cgi并使用即可。

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import cgi from "./utils/cgi";

Vue.config.productionTip = false

Vue.use(cgi)

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

完成以上操作后,我们自定义的组件TopTip可以直接在任何组件中使用,而不需要单独引入!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聂大哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值