Vue 组件
组件注册
一个 Vue 组件在使用前需要先被“注册”,才能在渲染模板时找到其对应的实现。
组件注册有两种方式:
- 全局注册
- 局部注册
全局注册
使用 Vue 应用实例的 .component()
方法:
mport { createApp } from 'vue'
const app = createApp({})
app.component(
// 注册的名字
'MyComponent',
// 组件的实现
{ /* ... */ }
)
使用 SFC:
import MyComponent from './App.vue' app.component('MyComponent', MyComponent)
链式调用:
app
.component('ComponentA', ComponentA)
.component('ComponentB', ComponentB)
.component('ComponentC', ComponentC)
全局组件的使用:
<!-- 在当前应用的任意组件中都可用 -->
<ComponentA/>
<ComponentB/>
<ComponentC/>
局部注册
在使用 <scirpt setup>
SFC 中:
<script setup>
import ComponentA from './ComponentA.vue'
</script>
<template>
<ComponentA />
</template>
在没有使用 <scirpt setup>
中:
import ComponentA from './ComponentA.js'
export default {
// 显式注册
components: {
ComponentA
},
setup() {
// ...
}
}
组件名格式
SFC 和内联字符串模板中推荐:
MyComponent
<MyComponent />
DOM 模板内:
<my-component>