位置: IT常识 - 正文

vue中利用ref实现更灵活的子向父传值

编辑:rootadmin
vue中利用ref实现更灵活的子向父传值 目录前言一,基础代码二,层次递进的讲解用法2.1 给子组件设置ref2.2 自定义事件2.3 给子组件设置一个自定义事件三,灵活性四,注意后记前言

推荐整理分享vue中利用ref实现更灵活的子向父传值,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

目前我们熟知的子向父传值有两种方式: 一种是在父组件中定义函数,然后将函数利用props传给子组件,子组件调用时父组件可以收到子组件的参数;另一种利用自定义事件,给子组件在父组件中绑定一个自定义事件,子组件利用$emit方式触发该自定义事件时可以将数据传给父亲。

今天介绍的是通过ref的方法实现子组件传值给父组件。这种方式比前两种方式用起来更加灵活。

这里附上涉及到的知识点链接,如有需要可以复习: Vue组件之间的数据共享讲解 Vue中ref引用操作DOM元素 其中,第一篇文章中有涉及到子向父传值的传统方式。

一,基础代码

这里放上我的App(父组件)和Son(子组件)的代码,后续所有的改动在此基础之上: (APP)

<template> <div> <h2>子组件的msg:</h2> <Son></Son> </div></template><script>import Son from './Son.vue'export default { name: 'App', components: { Son }}</script><style></style>

(Son)

<template> <div> <h2>我是子组件</h2> </div></template><script>export default { name: 'Son', data() { return { msg: '巧克力小猫猿' } }}</script><style></style>二,层次递进的讲解用法2.1 给子组件设置ref

这里我们给子组件设置一个ref,并查看父组件中的this.$refs中有什么(在mounted钩子函数中打印): 打印出来的结果是: 可以看到,此时ref对象中已经有了Son,并且类型是vc(组件)。既然在ref对象中那我们可以通过ref去操作它。

2.2 自定义事件vue中利用ref实现更灵活的子向父传值

我们在学传统的子向父传值时,涉及到了自定义事件。本节的方法依旧余自定义事件有联系,所以在正式了解如何用ref实现子向父传值时我们先来复习下自定义事件。

自定义事件的定义:使用vm.$on这个api:

vm.$on('自定义事件名',自定义事件被触发后调用的回调函数)

如:

vm.$on( 'aa', function () { console.log( 'aa' ) })

自定义事件的触发:使用vm.$emit这个api:

vm.$emit('自定义事件名',自定义事件需要用到的参数1,参数2,参数n)

一个是定义,一个是触发。我在学习vue视频的时候看到很多人不理解用ref写的这种作法,本质上是对自定义事件的不了解。

2.3 给子组件设置一个自定义事件

在App中为子组件设置一个自定义事件:这里要说的是,==给谁绑定的自定义事件,就去找谁调用。==现在给子组件son绑定了一个自定义事件,那么就要在子组件中去调用它。并且如下图可知,给子组件设置的自定义事件名为qklxmy,一旦触发,则调用回调函数getmsg。 在子组件中触发自定义事件:并且把son中的msg传给了该自定义事件qklxmy。(传的msg用于执行自定义事件的回调函数) 上述过程,给子组件定义了自定义事件,又在子组件中调用。由于子组件中自定义事件的回调写在父组件中,所以父组件可以收到子组件的传值。

三,灵活性

在前面有说,这么写会更加灵活。之所以灵活,是因为我们可以在钩子函数中使用这种方式传值,如:

我们还可以写定时器来设置什么时候接到传值。

四,注意

通过此方式绑定自定义事件,回调要么配置在methos中,就是如上方法,要么就用箭头函数。 如果不用箭头函数,this的指向会出现问题。

后记

以上就是vue中用ref实现灵活的子向父传值的方式,希望能帮助读者朋友更好的理解组件之间的传值以及对ref的理解。欢迎关注。

本文链接地址:https://www.jiuchutong.com/zhishi/300388.html 转载请保留说明!

上一篇:chatGPT身份指令

下一篇:深度学习之快速实现数据集增强的方法

  • 什么样的内容最吸引微博粉丝呢?(什么样的内容最吸引读者呢)

    什么样的内容最吸引微博粉丝呢?(什么样的内容最吸引读者呢)

  • 上海公交车可以微信支付吗(上海公交车可以刷两次吗)

    上海公交车可以微信支付吗(上海公交车可以刷两次吗)

  • 腾讯会员到期日哪里看(腾讯会员到期日是30号,包不包括30日那一天呢)

    腾讯会员到期日哪里看(腾讯会员到期日是30号,包不包括30日那一天呢)

  • 小米10miui12怎么使用小窗口(小米系统miui12技巧)

    小米10miui12怎么使用小窗口(小米系统miui12技巧)

  • 华为nm存储卡和普通存储卡区别(华为nm存储卡和TF存储卡区别)

    华为nm存储卡和普通存储卡区别(华为nm存储卡和TF存储卡区别)

  • 小米8桌面图标大小怎么设置(小米8桌面图标自动整理)

    小米8桌面图标大小怎么设置(小米8桌面图标自动整理)

  • 二维码收款钱没到零钱(二维码收款成功未到账,钱是不是就返回去了吗?)

    二维码收款钱没到零钱(二维码收款成功未到账,钱是不是就返回去了吗?)

  • 手机进水怎么办(手机进水怎么办开不了机)

    手机进水怎么办(手机进水怎么办开不了机)

  • 抖音作品设置私密会降权吗(抖音作品设置私密后之前点赞过的人在喜欢里还能看到吗)

    抖音作品设置私密会降权吗(抖音作品设置私密后之前点赞过的人在喜欢里还能看到吗)

  • 小米8门卡模拟没反应(小米门卡模拟成功但是刷不了)

    小米8门卡模拟没反应(小米门卡模拟成功但是刷不了)

  • 淘宝聊天工具叫什么(淘宝的那个聊天工具叫什么)

    淘宝聊天工具叫什么(淘宝的那个聊天工具叫什么)

  • 三星s20国行和港版有什么区别(三星s20国行和港行有什么区别)

    三星s20国行和港版有什么区别(三星s20国行和港行有什么区别)

  • ahsprotector是什么(ahplus是什么意思)

    ahsprotector是什么(ahplus是什么意思)

  • 微店是微信的吗(微店是微信开的吗)

    微店是微信的吗(微店是微信开的吗)

  • 计算器上的ac键是表示什么(计算器上的ac键是改错键吗)

    计算器上的ac键是表示什么(计算器上的ac键是改错键吗)

  • 设置主设备之后能换吗(以后再设置设备)

    设置主设备之后能换吗(以后再设置设备)

  • 快手粉丝团是啥意思(快手粉丝团啥时候出的)

    快手粉丝团是啥意思(快手粉丝团啥时候出的)

  • 抖音头像暂时无法查看是什么意思(抖音头像暂时无法更换)

    抖音头像暂时无法查看是什么意思(抖音头像暂时无法更换)

  • OPPO k5怎么设置自由收藏(oppok5怎么设置双系统)

    OPPO k5怎么设置自由收藏(oppok5怎么设置双系统)

  • soul位置共享怎么恢复(soul里面的位置共享怎么恢复)

    soul位置共享怎么恢复(soul里面的位置共享怎么恢复)

  • 安卓软件开发什么语言(开发安卓软件需要学什么)

    安卓软件开发什么语言(开发安卓软件需要学什么)

  • 截图快捷键ctrl加什么(截图快捷键ctrl加什么表格)

    截图快捷键ctrl加什么(截图快捷键ctrl加什么表格)

  • airpods2什么时候出的(airpods2什么时候下架)

    airpods2什么时候出的(airpods2什么时候下架)

  • 华为视频编辑器在哪里(华为视频编辑器怎么使用)

    华为视频编辑器在哪里(华为视频编辑器怎么使用)

  • 小米9的耳机孔在哪(小米9的耳机孔是多大的)

    小米9的耳机孔在哪(小米9的耳机孔是多大的)

  • 苹果6时间不准怎么办(苹果6时间不准怎么办时间跟随自动)

    苹果6时间不准怎么办(苹果6时间不准怎么办时间跟随自动)

  • 朋友圈统一回复怎么操作(朋友圈统一回复大家祝福的评论)

    朋友圈统一回复怎么操作(朋友圈统一回复大家祝福的评论)

  • 找回qq聊天消息记录(qq聊天消息记录怎么找回)

    找回qq聊天消息记录(qq聊天消息记录怎么找回)

  • diskgenius修复分区表(diskpart修复分区表)

    diskgenius修复分区表(diskpart修复分区表)

  •  复制的文件在手机那能找到(cp默认要复制的文件在)

    复制的文件在手机那能找到(cp默认要复制的文件在)

  • 遥控车遥控器怎么对信号源(遥控车遥控器怎么打开)

    遥控车遥控器怎么对信号源(遥控车遥控器怎么打开)

  • 出口免税产品如何缴纳附加税
  • 个税系统里的免税收入在哪删除
  • 净资产包含哪些方面
  • 关联交易金额是付款还是入账
  • 一千万人民币可以买多少斤黄金
  • 红字发票信息表编号在哪里看
  • 托管开票
  • 收到加工费普通发票怎么做账务处理
  • 查增应纳税所得额怎么算
  • 出口退税会计处理全部流程
  • 当月计提的工资与次月发放数不同
  • 承租人转租是否要交税
  • 车船税没有发票可以税前扣除吗
  • 信用卡逾期滞纳金是按天还是按月计算
  • 报销跨月还能报销吗
  • 公司迁移注册地税务问题
  • 补缴的公积金可以抵扣个税吗
  • 外贸企业出出口退税会计科目怎么做账?
  • 车辆购置税入什么科目?
  • 行车记录仪怎么开发票
  • 软件企业产品如何销售
  • 手撕票可以报销么
  • 计税工资和实发工资比例
  • 少收的货款怎么入账
  • 金蝶软件入库
  • 城镇土地使用税税率
  • 哪些人需缴纳个人所得税
  • 新成立的公司股权转让交税吗
  • win11怎么改名
  • 鸿蒙系统开发人员选项
  • PHP:Memcached::getResultMessage()的用法_Memcached类
  • 电脑开机后桌面图标变乱
  • 坏账准备的相关账务处理
  • 固定资产终止确认的会计处理
  • Symfony2实现在doctrine中内置数据的方法
  • 中秋快乐图片大全
  • 仙岩寺庙
  • 农业公司经营项目有哪些?
  • 有形动产租赁个税是经营所得吗
  • 长期股权投资减值准备是什么科目
  • 发票报送日志不完整
  • 发票作废是什么样的
  • 收到政府扶贫款如何做分录
  • 人工成本的分类是
  • 年报资金数额是什么意思
  • SQLServer 2008中通过DBCC OPENTRAN和会话查询事务
  • 单位房屋出租收入应交哪些税
  • 其他应付款是什么类账户
  • 固定资产为什么要交税
  • 出口退免税的条件
  • 机票的退票费会退到哪里
  • 缴纳上月增值税及本月预缴增值税
  • 建筑安装工程承包合同条例还有效吗
  • 合并报表的内部投资抵消
  • 消防设备的安装
  • 购车怎么做会计分录
  • 私营公司预收账款怎么算
  • Windows10下mysql 5.7.17 安装配置方法图文教程
  • win7操作系统在哪儿卖
  • WIN10系统硬盘设置
  • linux存在的意义
  • windows没网络是怎么回事
  • Linux httpd(apache)启动失败 解决办法
  • 电脑防火墙在哪里设置
  • win7如何整理磁盘
  • 获取windows的最新信息要跳过吗
  • win10一年更新一次
  • win8如何安装软件
  • 电脑开机出现windows7
  • js判断浏览器是否为ie
  • cocos2dx游戏有哪些
  • 随机色彩
  • nginx日志路径配置
  • 如何让批处理文件运行不显示
  • jquery使用教程
  • python使用pymysql实现操作mysql
  • javascript基础书
  • 湖北电子网上税务怎么交
  • 浙江省焊工操作证查询
  • 教育费附加申报表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设