【Vue3】组件通信之props
创始人
2024-11-14 10:05:17
0

【Vue3】组件通信之props

  • 背景
  • 简介
  • 开发环境
  • 开发步骤及源码
  • 总结

背景

随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日子。本文内容并非完全原创,大多是参考其他文章资料整理所得,感谢每位技术人的开源精神。

简介

本文介绍 Vue3 中如何使用 props 实现组件间通信,即组件间相互传数据。

Vue3 中组件间通信包括:

  • 父组件向子组件传数据,实现方案有:
    • props
    • v-model
    • $ref
    • 默认插槽 / 具名插槽
  • 子组件向父组件传数据
    • props
    • v-model
    • $parent
    • 自定义事件
    • 作用域插槽
  • 父组件向子组件的子组件传数据,即向孙子组件传数据
    • $attrs
    • provider & inject
  • 任意组件间传数据
    • mitt
    • Pinia

开发环境

分类名称版本
操作系统WindowsWindows 11
IDEVisual Studio Code1.91.1

开发步骤及源码

1> 创建 Vue3 工程,参考:【Vue3】工程创建及目录说明。

2> 删除 src 目录下 assetscomponents 目录。

3> 修改 src 目录下 main.ts

import { createApp } from 'vue' import App from './App.vue'  createApp(App).mount('#app') 

4> 定义子组件,接收来自父组件的数据。

     

注意:需要使用 defineProps 定义接收父组件的哪些 props,如果这里没有定义,则即使父组件有传值,子组件也不能使用。defineProps 的参数是一个数组。
因为用到了 CSS 预处理器,所以需要执行 npm install -D sass 命令安装。

5> 修改 Vue 根组件 src/App.vue,引用以上子组件并向其传值。

     

可见,父组件向子组件传值只需在子组件标签上添加自定义属性(:blogs="blogs" :author="author")。

6> 执行命令 npm run dev 启动应用,浏览器访问:http://localhost:5173/
在这里插入图片描述
通过颜色可以辨别组件范围,可以看到子组件正确呈现出了来自父组件的数据。

7> 修改 Vue 根组件 src/App.vue,实现父组件接收来自子组件的数据。

     

可见,父组件定义了一个方法 syncReadTimes,并将此方法作为子组件的自定义属性(:syncReadTimes="syncReadTimes")传入。

7> 修改子组件,实现向父组件传数据。

     

首先要在 defineProps 中定义接收来自父组件的 syncReadTimes,然后增加一个按钮

相关内容

热门资讯

透视辅助!wpk私人局辅助是真... 透视辅助!wpk私人局辅助是真的吗,其实真的有挂(透视)2025版教程(有挂方法);1、下载好wpk...
透视系统"wepok... 透视系统"wepokerplus作弊"本来是真的有挂(透视)总结教程(有挂技巧)1、wepokerp...
透视最新(WEPOKER)we... 透视最新(WEPOKER)wepoker破解器激活码(透视)竟然有挂(技巧教程)1、金币登录送、破产...
透视教程!aapoker透视脚... 透视教程!aapoker透视脚本入口(透视)插件下载(原来真的有挂);1、aapoker透视脚本入口...
透视存在!wepoker科技辅... 透视存在!wepoker科技辅助器,果然存在有挂(透视)必赢方法(有挂解密);一、wepoker科技...
透视辅助"werpl... 透视辅助"werplan怎么透视"其实存在有挂(透视)详细教程(有挂细节)1、进入游戏-大厅左侧-新...
透视透视(wepoker)we... 透视透视(wepoker)we-poker辅助器(透视)都是真的有挂(攻略方法)1、金币登录送、破产...
透视挂透视!aapoker辅助... 透视挂透视!aapoker辅助插件工具(透视)脚本(切实真的是有挂);1、这是跨平台的aapoker...
透视插件!wejoker开挂,... 透视插件!wejoker开挂,好像存在有挂(透视)介绍教程(有挂攻略)1、下载好wejoker开挂辅...
透视新版"德扑HHp... 透视新版"德扑HHpoker有挂吗"竟然存在有挂(透视)教你教程(有挂细节);1、德扑HHpoker...