Skip to content

vue3官方文档核心知识点整理-深入组件部分.md

组件注册

全局祖册的话,在main.js中 createApp创建的应用实例中调用app.component()方法中进行注册。

局部注册的话,推荐使用setup语法糖,直接import 引入组件即可。

props

通过defineProps来接收props

watch不能直接监听props中值的变化,如果要监听的话,推荐使用watchEffect()方法。或者放到 watch 监听器的函数返回值中watch(() => foo, /* ... */)

合并传递多个props,可以直接传递一个对象,对象中的属性会作为props

事件

子组件的template模板中,可以通过 $emit() 方法触发父组件传给子组件的事件。

子组件中,可以在setup 语法糖中通过 const emit = defineEmits(['eventName']) 接收来自父组件的事件。emit(eventName, [...args])在js中中触发事件。

事件校验: 在 defineEmits 中要为事件添加校验,那么事件可以被赋值为一个函数,接受的参数就是抛出事件时传入 emit 的内容,返回一个布尔值来表明事件是否合法。

v-model 双向绑定

3.4 版本之后 推荐使用 defineModel 宏,更加方便。

传参

v-model 接受一个参数,这个参数是绑定的变量名,这个变量名会作为 v-model 的值。

可以传递多个v-model,只要参数不同即可。

修饰符

可以使用默认的.trim,.number 和 .lazy,也可以自定义修饰符

Released under the ISC License.