平时我们注册组件,不管是在父组件注册和main.js注册,一两个组件倒是很轻松,如果需要大量注册组件,就会重复做很多一样的工作,这里我们就能用到批量注册组件,大大提高工作效率
1.在公共components目录下,创建index.js,index.js中批量注册
// 批量组件注册
export default {
install(Vue) {
// 深度找当前目录下所有的组件
var requireComponent = require.context('./', true, /\.vue$/)
// 遍历循环 所有组件
requireComponent.keys().forEach(item => {
// 变量接收
var moduleDefault = requireComponent(item).default
// 注册组件(所有组件name不能为空)
Vue.component(moduleDefault.name, moduleDefault)
})
}
}
这里方法跟Vue.use()原理一样的,只是把固定的组件,换成了可变的
2.main.js导入使用
import Plugin from '@/components'
Vue.use(Plugin)
3.在其他需要使用的组件中,当标签直接使用