开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第13天,点击查看活动详情
自上篇文章起,我们基本上讲完了vue的语法,或者叫入门知识,现在我们需要稍微深入一点,了解一下。从这一篇开始:深入组件
组件的注册
在vue中,组件需要注册才能使用,如果不注册,vue会给你报如下提示:
如果你不注册,vue是不知道你写点标签到底是组件还是web components,当然如果是html正常点标签,vue是会做判断的。
vue3的组件注册分为全局注册和局部注册,我在这里推荐局部注册,尽量减少全局注册。全局注册意味着这个组件提前被加载,且几乎无法被优化或者延迟加载。
全局注册,常用于组件库,但是现在组件组件库基本都支持按需加载,也就是局部注册,用的时候才注册。
全局注册是这样写的
const app = createApp()
app.component('组件名',组件对象)
局部注册有3种方式,这里还是建议使用script setup,毫无疑问,它是最简单的。
import component from './xxx'
// options
export default {
componenta:{
component
}
}
// setup
import component from './xxx'
export default {
setup(){
return component
}
}
//script setup
<script setup>
import component from './xxx'
</script>
需要注意的是无论哪种方式,都需要提前引入这个组件对象,我们可以直接引入.vue文件,也可以引入一个符合vue组件的对象。
组件的命名
在vue2中,其实对组件命名没有要求,因为vue2的局部注册主要是第一种方式,而在第一种方式中组件的命名可以随便修改的。
但是中vue3种,组件会被默认命名为文件名,因此vue官方也在文档中声明了建议组件命名PascalCase,也就是驼峰命名,比如这种MyComponent。
在html中,是不允许这种标签的,因此vue可以更好的判断和处理。因此我建议各位中模版中使用也直接使用驼峰
<MyComponent />