一个.vue 文件的组成(3 个部分)
1. 模板页面
页面模板
2. JS 模块对象
3. 样式
2.3.2. 基本使用
1. 引入组件
2. 映射成标签
3. 使用组件标签
组件引用
一个Vue组件在使用前需要先被“注册”,这样Vue才能在渲染模板时找到其对应的实现。组件注册有两种方式 : 全局注册 和 局部注册
组件与组件之间不是完全独立的,而是有交集的,那就是组件与组件之间是可以传递数据的
传递数据的解决方案就是 props
通过props传递数据,不仅可以传递字符串类型的数据,还可以是其他类型,例如:数字、对象、数组等但实际上任何类型的值都可以作为props的值被传递
Vue组件可以更细致地声明对传入的props的校验要求
prop传递数据
{{ title }}
age={{ age }}
- {{item}}
props
校验是在Vue.js中用于验证和约束组件接收的数据类型和默认值的机制。在上述代码中,props
对象定义了三个属性:title
、age
和names
,每个属性都有指定的数据类型和默认值。
title
属性的类型为字符串 (String
),默认值为空字符串 (""
)。age
属性的类型为数字 (Number
),默认值为0。names
属性的类型为数组 (Array
),默认值为一个空数组 ([]
)。 这样做的目的是为了确保父组件传递给子组件的数据满足特定的类型要求,并提供合适的默认值以防止意外错误。对于 names
属性,default
使用的是一个函数来返回默认的数组,这是因为在Vue中,如果使用对象或数组作为默认值,需要使用一个函数来返回新的对象或数组实例,以避免数据共享。
在组件的模板表达式中,可以直接使用 $emit方法触发自定义事件触发自定义事件的目的是组件之间传递数据。(子给父传数据)
自定义事件传递数据
“透传attribute”指的是传递给一个组件,却没有被该组件声明为props或emits的attribute或者v-on事件监听器。最常见的例子就是class、style和id
当一个组件以单个元素为根作渲染时,透传的attribute会自动被添加到根元素上
生命周期函数
{{ message }}