export interface GlobalComponents {
Affix: typeof import('./../src/components/affix/src/affix.vue')['default']
Arrow: typeof import('./../src/components/popper/src/arrow.vue')['default']
Autocomplete: typeof import('./../src/components/autocomplete/src/autocomplete.vue')['default']
Avatar: typeof import('./../src/components/avatar/src/avatar.vue')['default']
Backtop: typeof import('./../src/components/backtop/src/backtop.vue')['default']
}
}
好像不能使用component
中export
的name
属性,只能使用文件名。如果统一加前缀,可以这样做:
Components({
resolvers: [
AntDesignVueResolver(),
(componentName) => {
// P是你的前缀
if (componentName.startsWith('P')) {
const name = componentName.slice(1)
// 返回原始组件路径
return path.resolve(`src/components/${name}/src/${name}.vue`)
}
},
],
})
在需要的界面 引用一下
<ElAffix />
components:{ElAffix,ELButton},
Vue.component(component.name(这里对应组件里面设置的name属性), component(这里对应要注册的组件));
//或者这种写法
Vue.component('el-affix', component)
//如果是循环注册
Vue.component('el'+component.name, component)