VUE3个人总结 | 青训营笔记

119 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第5天

VUE3难点回顾

props

props节点对象类型

它可以对每个props进行数据类型的校验,例如: <my-counter count="a":state="true"></my-counter> props:{count:Number,state:Boolean}中count值为String类型,state为布尔类型。

props基础类型检查

可直接为组件的props指定基础的校验类型,从而防止组件的使用者为其绑定错误的数据,类型包括:String,Number,Boolean,Array,Object,Date,Function,Symbol等。

props多个类型

可以通过数组的形式指定多个可能的类型:propA:[String,Number],

props必填校验

如果必须让组件的使用者为其传递属性的值,可通过以下代码来设置必填项:

export default {
 props {
  propA: {
   type: String,
   required: true
   },
  },
}

计算属性

·计算属性必须定义在computed节点中

·计算属性必须是一个function函数

·计算属性必须有返回值

·计算属性必须当做普通属性使用

相对于方法来说,计算属性会缓存计算的结果,只有计算属性的依赖发生变化时,才会重新进行运算,因此计算属性性能更好。 ##组件使用v-model

父传子:

1.父组件通过v-blind:属性绑定的形式,把数据传递给组件

2.子组件中,通过props接收父组件传递过来的数据

子传父:

1.在v-bind:指令之前添加v-model指令

2.在子组件中声明emits自定义事件,格式为updates:XXX

3.调用$emits()触发自定义事件,更新父组件的数据

计算属性vs侦听器

计算属性和侦听器的应用场景不同:

计算属性侧重于监听多个值的变化,最终计算并返回一个新值

侦听器侧重于监听单个数据的变化,最终执行特定的业务处理,不需要有任何返回值

生命周期

vue框架为组件内置了不同时刻的生命周期函数,会伴随着组件的运行而自动调用

·当组件在内容中被创建完毕之后,会自动调用create函数

·当组件被成功渲染到页面之后,会自动调用mounted函数