【Vue3系列】 父组件调用子组件的方法-子组件向父组件传值

2023-05-16

一:父组件调用子组件的方法

  • 父组件
<template>
    <div>
     父页面
        <son-com ref="sonRef"/>
        <button @click="handleClick">test</button>
    </div>
</template>
<script>
import {defineComponent,ref} from 'vue';

export default defineComponent({
    setup(){
    const sonRef = ref(null);
      const handleClick = () => {
         sonRef.value.song();
      }
  return { sonRef, handleClick, } 
  } 
}) 
</script>
  • 子组件
<template>
   <div>
        子页面
    </div>
</template>

<script>
import {
  defineComponent
} from 'vue';

export default defineComponent({
    setup(){
    const song = () => alert('whos your daddy');
    return { 
      song
    } 
  } 
}) 
</script>
  • 如果是TS呢
如果是TS定义可以使用
const sonRef = ref<null | HTMLElement>(null);

二:子传父

上面我们在父组件里面去调用了子组件的方法,那么执行完了是不是要刷新或者修改父组件里面的某些值呢

vue3中子组件向父组件传值分以下几步

1、定义emits,emits的定义是与component、setup等这些属性是同级。例如
在这里插入图片描述

props: {
      isUpdate: {
        type: Boolean,
        default: false,
      },
      isRadio: {
        type: [Number, String],
        default: 1,
      },
      id: {
        type: [Number, String],
      },
    },
    emits: ['callCancel'],
    setup(props, ctx) {
      const formState = ref({
        virtual_sales_sum: undefined,
        virtual_collect_sum: undefined,
        is_recommend: false,
        is_new: false,
        is_hot: false,
      });

emits此时是作为数组,它也可以接收一个对象

2、方法中使用
在这里插入图片描述

const handleSubmit = async () => {
        const params = {};
        const res = await editGoodsMarketingAttr(params);
        ctx.emit('callCancel', false);
        
        console.log(res);
      };

这里如果没用到setup语法糖,记得return出去

与Vue2的用法不同的是,现在需使用ctx.emit,其中ctx是setup中第二个参数,也就是上下文对象

3、在父组件上定义同名方法接收
在这里插入图片描述
4、父组件接收方法的参数为子组件传递的参数
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Vue3系列】 父组件调用子组件的方法-子组件向父组件传值 的相关文章

  • 网络编程04-UDP的广播、组播

    目录 一 UDP广播通信 1 什么是广播 2 特点 3 广播地址 4 实现广播的过程 xff08 一定是使用UDP协议 xff09 广播发送端 广播接收方 练习1 xff1a 把广播通信进行实现 发送端 接收端 二 UDP组播 xff08
  • JSON文件的生成与解析

    参考Json文件的生成和解析
  • C++ 设置double精度

    设置double精度 在这里插入代码片 span class token macro property span class token directive keyword include span span class token str
  • GitLab 出现错误Could not resolve host: xxx-xxx

    错误原因 xff1a 域名解析错误 解决办法找 打开hosts 在最后一行添加 192 30 xxx xxx gitlab
  • TeeChart控件_动态创建

    在安装目录下找到TeeChartxxxxx ocx 以管理员的身份打开cmd 注册TeeChartxxxxx ocx regsvr32 TeeChartxxxxx ocx VS2015 使用TeeChart绘图控件 CRect rect s
  • Nginx

    Nginx 介绍 Nginx是一款轻量级的Web 服务器 反向代理服务器 电子邮件 xff08 IMAP POP3 xff09 代理服务器 xff0c 并在一个BSD like 协议下发行 由俄罗斯的程序设计师Igor Sysoev所开发
  • 上电自动开机

    上电开机启动是指电脑主机在UPS恢复供电时可以自动开机 该功能必须要求电脑主板型号支持 xff0c 进入电脑的BIOS进行设置使用 不同型号的电脑的BIOS设置会有区别 xff0c 以下仅做参考 xff1a 第一步 xff1a 开机进入BI
  • Linux网络编程【TCP】

    文章目录 TCP特点TCP中CS架构TCP状态转换相关操作函数recv函数send函数 TCP特点 TCP是一种面向广域网的通信协议 xff0c 目的是在跨越多个网络通信时 xff0c 为两个通信端点之间提供一条具有下列特点的通信方式 xf
  • 博客资源整理

    文章目录 STLLinux基础命令linux系统编程Linux网络编程Docker容器技术数据库第三方库的使用Linux编程WebQt STL 基础概念 容器 duque stack map set vector 算法 查找算法 排序算法
  • Qt编译Mysql驱动

    1找到源码 2点击编译会看到报错 1解决方案 下载相关文件 也可以私信发给你 2打开配置文件添加下面的信息 相关文件下载 3点击编译 弹出的框直接关掉就行 4在安装qt的根目录下会生成如下目录 5 找到下面的库 6 将上面的库拷贝到如下目录
  • C++中的异常语法

    文章目录 概述异常的关键子自定义异常使用栈解旋异常的接口声明异常变量的生命周期C 43 43 标准异常库 概述 C语言的异常缺陷在于返回值只有一个 xff0c 可能出现二义性 xff0c 没有统一的标准 C 43 43 中的异常必须有处理
  • 处理鼠标连续点击的问题

    处理鼠标连续点击的问题 span class token comment 上次点击时间点 span DWORD m tmClick span class token punctuation span span class token com
  • FLOPS和FLOPs、GFLOPs区别与计算

    参考FLOPS和FLOPs GFLOPs区别与计算
  • VS远程调试

    文章目录 VS远程调试本地和虚拟机调试准备工作 xff1a 需要注意的几个地方 xff1a VS远程调试 在编程中由于环境 版本等各种原因 xff0c 我们需要模拟出来各种环境来跑不同的版本测试 本地和虚拟机调试 准备工作 xff1a 以V
  • AUTOSAR基础篇之CanNM

    前言 首先 xff0c 问大家几个问题 xff0c 你清楚 xff1a 为什么要引入网络管理呢 xff1f 上电同时启动 xff0c 下电同时关闭 xff0c 它不香吗 xff1f 你知道车上的ECU节点可以分为哪几种类型吗 xff1f 汽
  • CANoe应用案例之DoIP通信

    随着ECU功能和存储容量的不断提高 xff0c 主机厂对于ECU诊断和刷写有了更高的要求 由于带宽的限制 xff0c 传统的汽车总线 xff08 如CAN总线 xff09 存在刷写时间过长的缺点 xff0c 大大降低了生产和维修效率 DoI
  • TRACE32——常用操作

    TRACE 32常用操作 TRACE32软件打开后 xff0c 连上硬件环境 xff0c 我们就可以开始尝试和芯片建立连接 xff0c 并进行基本的调试操作 第一步 xff1a 确认目标板是否上电 第二步 xff1a 打开System Se
  • TRACE32——基于SNOOPer的变量记录

    TRACE32 基于SNOOPer的变量记录 在我们日常调试工作中 xff0c 经常会遇到一种场景 xff1a 对于某些变量或者内存的值 xff0c 希望对其进行监控 当这些变量发生写或者读的时候 xff0c 将这些操作记录下来 xff0c
  • TRACE32——内存填充测试Data.Pattern

    TRACE32 内存填充测试Data Pattern Data Pattern 命令可以用于对内存 xff08 SRAM DDR Flash等 xff09 写入随机值 xff0c 以快速地测试内存是否可以正确读写 命令格式 xff1a 示
  • STM32使用printf重定向

    最近用STM32CubeMX创建了一个demo工程 xff0c 在调试过程中 xff0c printf打印功能一直不能正常打印 xff0c 检查工程中也已将fputc函数进行了实现 奇怪的是用JTAG进行调试时打印恢复了正常 最后发现问题的

随机推荐

  • repo的安装和使用

    前言 Android 采用 Gerrit 提供代码评审服务 xff0c 并且开发了一个客户端工具 repo xff0c 实现多仓库管理 Git 的开发者对服务端的 Git 源码做了扩展 xff0c 使得基于 Git xff08 cgit x
  • repo sync之后不能自动 rebase 的定位

    背景 最近在使用repo sync同步代码时老是报告 xff1a branch xxx is published but not merged and is now 1 commits behind 我之前是由推送过一笔提交 xff0c 但
  • git取指定日期log问题

    库上版本有一个重要bug xff0c 使用了如下命令取一个版本 xff1a repo forall c 39 commitID 61 96 git log before 34 2022 12 09 00 00 00 34 1 pretty
  • ROS读取激光雷达点云数据(RS-Lidar为例)

    一 准备工作 xff1a 1 安装ROS xff08 含有rviz xff09 xff1b 2 安装pcl ros pcl xff08 Point Cloud Library xff09 ros 是ROS中点云和3D几何处理的接口和工具 如
  • 标准预定义的宏

    标准预定义宏是由相关的语言标准规定的 xff0c 所以它们可以在所有执行这些标准的编译器中使用 旧的编译器可能不会提供所有这些宏 它们的名字都以双下划线开头 FILE 这个宏扩展为当前输入文件的名称 xff0c 以 C 字符串常数的形式 这
  • Realsense L515使用

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 主要参考二 基本情况 xff08 一 xff09 ubuntu和ROS情况 xff08 二 xff09 主要步骤 总结
  • 电脑前置摄像头运行ORB-SLAM2 Mono

    ROS本地摄像头 下载安装usb cam包 最好将它放在ROS空间的src文件夹下 xff0c 方便管理 git clone https github com bosch ros pkg usb cam git usb cam cd usb
  • ERROR:cannot launch node of type

    当使用roslaunch启动ros节点时 xff0c 如果出现 ERROR cannot launch node of type 这个错误 xff0c 一般原因是由于没有source bashrc 因此工作空间使用 source bashr
  • Ubuntu 18.04 运行PL-VINS

    代码地址 https span class token operator span span class token comment github com cnqiangfu PL VINS span 安装过程出错参考 PL VINS配置
  • rosbag.bag.ROSBagUnindexedException: Unindexed bag

    rosbag bag ROSBagUnindexedException Unindexed bag ROSBAG
  • d435i 相机和IMU联合标定

    一 前提 我们已经对RGB摄像头和IMU进行了单独标定 参考之前博文 RGB标定 IMU kalibr官方WIKI Kalibr 二 准备标定文件 2 1 标定板yaml文件 标定下载链接 Aprilgrid 6x6 0 5x0 5 m u
  • opencv版权nofree问题

    找到3 1 0中cpp文件拷贝到3 4 12中 xff0c 重新cmake编译 xff0c 即可使用 nofree解决方案
  • realsense d435i 自制Euroc数据集

    参考 提取bag Python程序地址 span class token operator span home span class token operator span yang span class token operator sp
  • orb-slam2运行自己数据集

    因为我跑的是双目摄像头 所以首先在orb slam2下找到ros stereo cc文件然后对其中的rostopic节点进行修改 首先先找到自己对应的节点在 自己录制的 bag 数据集下打开终端执行 rosbag info xxx bag在
  • 【Linux】CMake编译C/C++工程文件

    Linux CMake编译C C 43 43 工程文件 文章目录 Linux CMake编译C C 43 43 工程文件前言一 CMake编译工程1 1 两种方式设置编译规则1 2 两种构建方式1 3 CMake构建C C 43 43 工程
  • STM32学习笔记 GPIO初始化参数结构体介绍

    GPIO初始化参数结构体如下 xff1a typedef struct uint16 t GPIO Pin GPIOSpeed TypeDef GPIO Speed GPIOMode Typedef GPIO Mode GPIO InitT
  • Failed to load resource: the server responded with a status of 401 (UNAUTHORIZED) 解决token失效 401错误码

    在这里我们要对别人的错误状态进行判断 来使用刷星token 解决token失效的 401的问题 让别人在后台看不见的地方 登陆失败 然后里面调用这里的请求 再获取最新的token值 然后重新设置到我们的本地存储里面去 span class
  • 企业微信 => 企业微信接入第三方应用(vue的H5) 第一阶段:授权登录 前端部分

    企业微信接入第三方应用 企业微信接入第三方应用 xff08 以服务商身份 xff09 一 确认我们是第三方应用开发还是企业内部开发选项 xff08 对后面有很大区别 xff09 二 需要的准备 xff1a 注册两个企业 xff0c 一个作为
  • 【小程序系列】使用uView 自定义配置uni-app原生中的tabBar

    一 uView是什么 xff1f uView是uni app生态专用的UI框架 xff0c 是一个开源 免费的优秀框架 二 安装与配置 官方文档讲的很详细 xff0c 所以这里就直接引用 xff1a 安装与配置 三 使用步骤 在完成第二步
  • 【Vue3系列】 父组件调用子组件的方法-子组件向父组件传值

    一 xff1a 父组件调用子组件的方法 父组件 span class token operator lt span template span class token operator gt span span class token op