创建、注册和使用组件
创建组件
defineComponent - 根据配置创建组件
defineComponent
用于创建组件:
options
参数代表了组件配置。
这里要注意引入的 Vue 版本:
vue
: 默认版本,不支持运行时的模板编译,模板必须编译后才能运行vue/dist/vue.esm-bundler
: 支持运行时的模板编译
单文件组件
参考 单文件组件。
组件配置
组件配置可以包含以下属性或方法:
注册组件
目前我们了解到两种声明组件的方法:
- 配置式组件
- 单文件组件
这两种方式声明的组件在使用上并没有区别。
组件名
建议在组件名、组件注册和模板中均使用 hello-world
形式。
在引用模块/组件时使用 HelloWorld
形式。
局部注册
在组件中引用和注册其他组件,src/app.vue
:
components 属性中可以有不同的写法:
注意:局部注册的组件只能在当前组件中使用,在子组件中并不可用。
全局注册
在应用中可以全局注册组件,src/main.ts
:
全局注册的组件可以在应用内的其他任意组件中使用。
使用组件
注册组件之后,可以在模板中使用。
对于不需要包含内容的组件,可以不写结束标签,但开始标签必须包含 />
作为结束:
对于需要包含文本内容或其他标签/组件的方式,参考 [<slot>]。
其中,使用不同名称注册的组件在模板中使用时有一些区别:
HelloWorld
: 可以作为<HelloWorld>
或<hello-world>
使用hello-world
: 仅能作为<hello-world>
使用