注册组件
1. 组件内部
<script>
import Box1 from "./Box1.vue"
export defult{
components:{
Box1
},
setup(){}
}
</script>
<template>
<Box1></Box1>
< /template>
2.vue3组件内部组合式API setup语法糖中注册组件
<script setup>
import Box1 from "./Box1.vue"
</script>
<template>
<Box1></Box1>
< /template>
3.注册全局组件
import { createApp} from 'vue'
import App from './App.vue'
const app=createApp(App)
import Box1 from "./Box5.vue"
app.component(Box1.name,Box1)
app.mount('#app')
<template>
<Box1></Box1>
< /template>
4.定义同步组件:
//Box1.vue文件:
<script>
import {defineComponent} from "vue"
export default defineComponent({
data(){
return {}
},
methods:{},
setup(){
}
});
</script>
5.1定义局部异步组件:
组件内部
<script>
import {defineAsyncComponent} from "vue"
let Box1 = defineAsyncComponent(() => import("./Box1.vue"))
export default {
components: {
Box1
},
setup() {}
}
</script>
setup语法糖:
<script setup>
import Box1 from "./Box1.vue"
import Box2 from "./Box2.vue"
import {defineAsyncComponent} from "vue"
let Box3=defineAsyncComponent(()=>import("./Box3.vue"))
</script>
5.2定义全局异步组件:
import { createApp,defineAsyncComponent} from 'vue'
import App from './App.vue'
const app=createApp(App)
let Box1=defineAsyncComponent(()=>import("./Box4.vue"))
app.component("Box1",Box1)
app.mount('#app')