1、在src文件下创建一个名为globalComponents的文件夹
作用:为了注册全局组件
2、引用及注册全局组件
注意要注册的全局组件必须给name赋值(起名字))
//把所有要注册的组件引入
import Child from '@/components/child.vue'
import HelloWorld from '@/components/HelloWord.vue'
import { App, Component } from "vue"
//定义接口,其中有一个install的方法
interface GlobalComponents {
install: (app: App) => void
}
//定义数组,存放所有引入的组件
const componentsArr: Component[] = []
componentsArr.push(Child) //把准备注册的组件存入数组
componentsArr.push(HelloWorld )
定义一个对象
const aiComponents: GlobalComponents ={
install(app){
componentsArr.map((item:Component)=>{ //遍历注册全局组件
app.component(item.name!,item)
})
}
}
//item.name 即组件的name (名字)
export default aiComponents //导出对象
3、在main.ts中引入
import aiComponents from '@/globalComponents/index';
app.use(aiComponents)
4、使用
在你需要使用的地方直接使用注册的标签
<child></child>
<hello-word></hello-word>