千家信息网

Vue3的组件通信方式有哪些

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,本篇内容主要讲解"Vue3的组件通信方式有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Vue3的组件通信方式有哪些"吧!Props父组件传值给子组件
千家信息网最后更新 2024年09月21日Vue3的组件通信方式有哪些

本篇内容主要讲解"Vue3的组件通信方式有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Vue3的组件通信方式有哪些"吧!

    Props

    父组件传值给子组件(简称:父传子)

    Props 文档

    父组件

    // Parent.vue

    子组件

    // Child.vue

    子组件

    // Child.vue

    和 props 一样,在

    子组件

    // Child.vue

    子组件

    // Child.vue

    打开控制台可以看到,属性被挂到 HTML 元素上了。

    多个元素的情况

    但在 Vue3 中,组件已经没规定只能有一个根元素了。如果子组件是多个元素时,上面的例子就不生效了。

    // Child.vue

    此时可以使用 $attrs 的方式进行绑定。

    // Child.vue

    v-model

    v-model 是 Vue 的一个语法糖。在 Vue3 中的玩法就更多(晕)了。

    单值的情况

    组件上的 v-model 使用 modelValue 作为 prop 和 update:modelValue 作为事件。

    v-model 参数文档

    父组件

    // Parent.vue

    子组件

    // Child.vue

    你也可以这样写,更加简单

    子组件

    // Child.vue

    多个 v-model 绑定

    多个 v-model 绑定 文档

    父组件

    // Parent.vue

    子组件

    // Child.vue

    v-model 修饰符

    v-model 还能通过 . 的方式传入修饰。

    v-model 修饰符 文档

    父组件

    // Parent.vue

    子组件

    // Child.vue

    插槽 slot

    插槽可以理解为传一段 HTML 片段给子组件。子组件将 元素作为承载分发内容的出口。

    插槽 文档

    本文打算讲讲日常用得比较多的3种插槽:默认插槽、具名插槽、作用域插槽。

    默认插槽

    插槽的基础用法非常简单,只需在 子组件 中使用 标签,就会将父组件传进来的 HTML 内容渲染出来。

    默认插槽 文档

    父组件

    // Parent.vue

    子组件

    // Child.vue

    具名插槽

    具名插槽 就是在 默认插槽 的基础上进行分类,可以理解为对号入座。

    具名插槽 文档

    父组件

    // Parent.vue

    子组件

    // Child.vue

    父组件需要使用