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

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

  • 一般纳税人销售使用过的固定资产
  • 内蒙古注册税务师协会
  • 先报个税还是先报增值税,有影响吗?
  • 临时人员劳务费有哪些?
  • 长期借款会计科目编码
  • 产品缺陷处理流程
  • 承包经营承包费增值税
  • 事业专款支出形成的固定资产如何入账?
  • 系统技术维护费计入什么科目
  • 发票代表收据吗
  • 购买银行承兑利息收入是否缴纳增值税?
  • 企业重组的所得税怎么算
  • 结余资金财政收回如何做账
  • 企业不动产如何带抵押转让
  • 资本资产定价模型
  • 电子发票字体不同
  • 2020年运费发票备注栏新规定
  • mac显示器颜色不正常
  • 有关预提费用如何冲销
  • 母子公司吸收合并优劣势
  • cpu天梯图2022最新版1240p
  • 社保公积金的钱可以提出来吗
  • 开源鸿蒙适配
  • php删除数据库数据代码
  • 商场外面的广告牌什么位置好
  • linux中qq怎么添加快捷键启动功能?
  • silent.exe - silent是什么进程 有什么用
  • 增值税进项税抵扣销项税
  • 逾期未收回包装物押金会计分录
  • 税收返还的账务处理
  • 投标保证金怎么退还流程
  • 支付银行借款利息可以全额扣除吗
  • 技术股如何分红交易
  • 什么是冲帐?怎么个冲法?
  • 收到保险公司退款
  • 工会筹备金计税依据
  • 应纳税所得额的意思
  • 用more命令查看文件内容
  • thinkphp d方法
  • 残保金申报缴纳时间
  • 小企业发票打印流程
  • 银行承兑到期后几天内有效
  • 织梦怎么新建页面
  • mysql数据库高可用方案
  • 工厂道路设计规范
  • 员工出差加油费如何报销
  • 车间机器设备修理费用计入什么科目
  • 企业返聘退休人员需要交社保吗
  • 什么是稳岗补贴呢
  • 无形资产如何计提减值
  • 收到政府的奖励企业需要纳税吗?
  • 工程款开票数量和单价要填吗
  • 公益性捐赠要确认递延吗
  • 金税盘技术维护费可以不交吗
  • 普通发票和增值税发票的区别图片
  • 公司股东为另一家公司全股
  • 医院财务核算制度
  • 交易性金融资产公允价值变动计入
  • php mysql insert into 结合详解及实例代码
  • win8支持固态硬盘吗
  • 怎么美化ppt
  • 安装最新的Google应用
  • whSurvey.exe - whSurvey进程是什么意思
  • 如何在xp系统中调整移动硬盘
  • rsync 教程
  • win10开始菜单磁贴颜色
  • 遮罩层在上还是在下
  • 基于web的学生成绩管理系统毕业论文
  • div li
  • 批处理文件(.bat)怎么写?
  • js表单事件有哪些
  • nodejsorg
  • js中调用java
  • shell语言的特点
  • js null,undefined,字符串小结
  • python 函数 星号参数
  • 辽宁地方税务网站官网
  • 起诉公司需要法人信息吗
  • 1000元钱0.05%的利息是多少
  • 一巩固三衔接
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设