位置: 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身份指令

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

  • 魅族18x中框材质(魅族17中框材质)

    魅族18x中框材质(魅族17中框材质)

  • 微信里的游戏小程序怎么删除(微信里的游戏小代码)

    微信里的游戏小程序怎么删除(微信里的游戏小代码)

  • 微信不是群主怎么拉人进群(微信不是群主怎么艾特所有人)

    微信不是群主怎么拉人进群(微信不是群主怎么艾特所有人)

  • 屏幕有一块区域失灵(屏幕有一块区域变暗)

    屏幕有一块区域失灵(屏幕有一块区域变暗)

  • 耳机寿命是多久(耳机寿命一般多久)

    耳机寿命是多久(耳机寿命一般多久)

  • 微店会有自然流量吗(微店流量从哪里来)

    微店会有自然流量吗(微店流量从哪里来)

  • 小米mix2有红外功能吗(小米mix2红外线功能怎么开)

    小米mix2有红外功能吗(小米mix2红外线功能怎么开)

  • 苹果数据线始终无法给安卓手机充电什么意思(苹果数据线为什么用一段时间就用不了了)

    苹果数据线始终无法给安卓手机充电什么意思(苹果数据线为什么用一段时间就用不了了)

  • 华为双卡通讯录分开吗(华为双卡通讯录如何区分)

    华为双卡通讯录分开吗(华为双卡通讯录如何区分)

  • 华为手环别的手机能用吗(华为手环别的手表能用吗)

    华为手环别的手机能用吗(华为手环别的手表能用吗)

  • ios10.3.3录屏功能在哪(ios10.3.3 录屏)

    ios10.3.3录屏功能在哪(ios10.3.3 录屏)

  • 限速3mbps什么意思(限速至3.1mbps)

    限速3mbps什么意思(限速至3.1mbps)

  • 爱奇艺下载的视频在哪个文件夹(爱奇艺下载的视频过了VIP还能看吗?)

    爱奇艺下载的视频在哪个文件夹(爱奇艺下载的视频过了VIP还能看吗?)

  • 如何调整PPT中文本框的位置(如何调整PPT中文字的行间距)

    如何调整PPT中文本框的位置(如何调整PPT中文字的行间距)

  • 戴尔笔记本怎么截图(戴尔笔记本怎么用u盘重装系统)

    戴尔笔记本怎么截图(戴尔笔记本怎么用u盘重装系统)

  • 手机qq怎么查找退出的群(手机qq怎么查找已删除好友的聊天记录)

    手机qq怎么查找退出的群(手机qq怎么查找已删除好友的聊天记录)

  • 一加7怎么设置联系人头像(一加7怎么设置悬浮窗口)

    一加7怎么设置联系人头像(一加7怎么设置悬浮窗口)

  • ios怎么换壁纸(苹果手机换壁纸怎么换)

    ios怎么换壁纸(苹果手机换壁纸怎么换)

  • 三星s10怎么使用两个微信(三星s10怎么使用三星版carlife)

    三星s10怎么使用两个微信(三星s10怎么使用三星版carlife)

  • 苹果备忘录有字数限制吗(苹果备忘录有字数显示吗)

    苹果备忘录有字数限制吗(苹果备忘录有字数显示吗)

  • 手机出现fastboot模式(手机出现fastboot会坏吗)

    手机出现fastboot模式(手机出现fastboot会坏吗)

  • pr怎么删除画面保留音频(pr怎么删除画面一部分)

    pr怎么删除画面保留音频(pr怎么删除画面一部分)

  • 华为畅享9微信声音在哪换(华为畅享9微信来电不亮屏)

    华为畅享9微信声音在哪换(华为畅享9微信来电不亮屏)

  • 华为nova5i返回键在哪(华为nova5i返回键怎么设置出来)

    华为nova5i返回键在哪(华为nova5i返回键怎么设置出来)

  • 升级鸿蒙系统会后悔吗?鸿蒙系统系统操作使用详细介绍(升级鸿蒙系统会解除限制充电60)

    升级鸿蒙系统会后悔吗?鸿蒙系统系统操作使用详细介绍(升级鸿蒙系统会解除限制充电60)

  • css的rotate3d实现炫酷的圆环转动动画(css设置3d)

    css的rotate3d实现炫酷的圆环转动动画(css设置3d)

  • 个人买车交增值税吗
  • 小规模企业免税怎么做账
  • 新成立小规模纳税人开发票如何办理
  • 什么是进口增值税率
  • 资产负债表中应收账款
  • 运输发票抵扣进项税率
  • 电脑的折旧年限是多久
  • 公司商标注册费用属于什么费用
  • 发票抬头开错重开怎么处理?
  • 持有待售资产固定资产 要计提折旧吗
  • 进项票退回已抵扣税额
  • 新公司接手之前公司的固定资产
  • 利息收入为什么是负数
  • 中央空调 付款
  • 进项和销项不符的税务处理
  • 离职补偿金如何计算
  • 付敏科技有限公司官网
  • 质量成本包括哪两个成本
  • 计提工资怎么做账务处理
  • 小规模所得税申报表填写样本
  • 企业收到红字发票,应该如何申报报表?
  • 应收和预收怎么算
  • 政府收储土地补偿款账务处理
  • 交罚金怎么交
  • linux中php的作用
  • 预收账款何时结转
  • 改进yolov4
  • php识别中文
  • php写文件函数
  • vue项目难点及解决方法
  • 美国大峡谷在哪儿
  • c++~怎么用
  • window.location.href返回值
  • vue3.0实战项目
  • vue2和vue3的区别大么
  • testdisk安装方法
  • 应交税费转出会计分录
  • 未分配利润转增股本要交税吗怎么交
  • 房地产企业预缴增值税会计处理
  • 年终企业所得税怎么结转
  • 残保金相关内容有哪些
  • 公司的财产保险业务
  • 增值税进项税额加计抵减政策
  • 专项附加可以叠加吗
  • 纳税人办理普通发票流程
  • 预付账款用途
  • 从农民手中购买粮食税率
  • 应收账款期末余额为负数表示什么
  • 应收账款的会计要素
  • 利息支出应计入什么科目
  • 预收账款常见的问题
  • 企业收到政府补助金80 000元,存入银行
  • 赠送油卡需要代理吗
  • 进口货物只有报关单能入账吗
  • 没有发票的费用汇算清缴的时候怎么调出来
  • sql server字段
  • 如何把数据生成表格
  • win7开机chkdsk
  • windows7如何设置电脑休眠时间
  • centos7如何设置中文
  • 如何创建虚拟硬盘
  • PRISMSVR.EXE - PRISMSVR是什么进程 有什么用
  • vsftpd 虚拟用户权限
  • linux free 命令
  • unity出现bug
  • nodejs word
  • Android Chromium WebView学习启动篇
  • jquery easyui validatebox remote的使用详解
  • python 基础 详细
  • jquery拖拽流程布局
  • jquery导航菜单
  • windows ipython
  • 国家税务局通用定额发票查询
  • 代收的款项支付需不需要开发票
  • 门诊看病记录怎么查
  • 深圳如何打印个人参保证明
  • 车船税填表说明
  • 强化管理定义
  • 迈凯伦gt1
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设