1.全局组件的目录
2.loading/index.js
import LoadingComp from './Loaiding'
const compName=LoadingComp.name //获取组件的名字 当做全局组件名字使用
const loading = {
//Vue.use()方法就会自动执行install
install(Vue) {
Vue.component(compName, LoadingComp)
}
}
export default loading
3.loading/Loading.vue
<template>
<div>
<h3>{
{loadingMessage}}</h3>
<h3>{
{aa}}</h3>
</div>
</template>
<script>
export default {
name: "Loading",
props: {
aa: {
type: String,
}
},
data() {
return {
loadingMessage: "loading..."
};
},
methods: {},
};
</script>
<style lang="scss" scoped>
</style>
4.main.js全局注册
import Loading from './components/globalComponents/loading/index'
Vue.use(Loading)
5.使用
<template>
<div>
<loading></loading> //无需注册 直接使用
</div>
</template>
批量导入多个自定义全局组件
index.js文件(上面globalComponents下面统一新建一个index.js文件)
import loading from './loading'
import mySelect from './myselect'
export default {
loading,
mySelect
}
//main.js 批量导入全局自定义组件
import globalComponents from './components/globalComponents'
for (let key in globalComponents) {
Vue.use(globalComponents[key])
}