在使用
<script setup>的单文件组件中,导入的组件可以直接在模板中使用,无需注册:
<script setup>
import ComponentA from './ComponentA.vue'
</script>
<template>
<ComponentA />
</template>
注意:不要省略
.vue后缀名否则会报错
出现这个问题,就是因为现在vite分析器要这个后缀导致的!!!!!!!!!!
image.png
正确写法加上.vue后缀:import hotMusic from "./hotMusic/index.vue";
如果没有使用
<script setup>,则需要使用components选项来显式注册:
import ComponentA from './ComponentA.js'
export default {
components: {
ComponentA
},
setup() {
// ...
}
}
对于每个
components对象里的属性,它们的key名就是注册的组件名,而值就是相应组件的实现。上面的例子中使用的是ES2015的缩写语法,等价于:
export default {
components: {
ComponentA: ComponentA
}
// ...
}
请注意:局部注册的组件在后代组件中并不可用。在这个例子中,
ComponentA注册后仅在当前组件可用,而在任何的子组件或更深层的子组件中都不可用。
