当前位置: 首页 > news >正文

Vue 子组件向父组件传值

 1、使用自定义事件 ($emit)

这是Vue中最常用的子组件向父组件传递数据的方式。子组件通过触发一个自定义事件,并附加数据作为参数,父组件则监听这个事件并处理传递过来的数据。

子组件 (发送数据):

<template><button @click="sendData">发送数据给父组件</button>
</template><script>
export default {methods: {sendData() {// 触发一个名为'dataSent'的自定义事件,并传递数据this.$emit('dataSent', { key: 'value' });}}
}
</script>

父组件 (接收数据):

<template><child-component @dataSent="handleDataFromChild"></child-component>
</template><script>
import ChildComponent from './ChildComponent.vue';export default {components: {ChildComponent},methods: {handleDataFromChild(data) {console.log('从子组件接收到的数据:', data);}}
}
</script>

2、

使用ref直接访问子组件方法或属性

虽然这种方法不鼓励频繁使用,因为可能破坏组件的封装性,但在某些情况下,直接通过ref访问子组件的方法或属性也是可行的。

子组件 (提供数据访问方法):

<script>
export default {methods: {getDataForParent() {return { info: '这里是子组件的数据' };}}
}
</script>

父组件 (通过ref获取数据):

<template><child-component ref="childRef"></child-component>
</template><script>
import ChildComponent from './ChildComponent.vue';export default {components: {ChildComponent},methods: {fetchChildData() {// 通过ref调用子组件的getDataForParent方法const data = this.$refs.childRef.getDataForParent();console.log('从子组件获取的数据:', data);}},mounted() {this.fetchChildData(); // 页面加载时获取数据}
}
</script>

http://www.lryc.cn/news/354300.html

相关文章:

  • 【前端笔记】Vue项目报错Error: Cannot find module ‘webpack/lib/RuleSet‘
  • edge浏览器的网页复制
  • 视频播放器-Kodi
  • Helm安装kafka3.7.0无持久化(KRaft 模式集群)
  • 【机器学习】期望最大化(EM)算法
  • 【Python】机器学习中的过采样和欠采样:处理不平衡数据集的关键技术
  • 重新思考:Netflix 的边缘负载均衡
  • 元组的创建和删除
  • CSS3用户界面
  • STL源码刨析:序列式容器之vector
  • Flutter 中的 AbsorbPointer 小部件:全面指南
  • Web开发学习总结
  • springboot相关知识集锦----1
  • App推广新境界:Xinstall助你轻松突破运营痛点,实现用户快速增长!
  • YOLOv10 论文学习
  • [Spring Boot]baomidou 多数据源
  • Drone+Gitee自动执行构建、测试和发布工作流
  • Unity3D MMORPG 主城角色动画控制与消息触发详解
  • 【Text2SQL 经典模型】HydraNet
  • Mysql-根据字段名查询字段在哪些表里
  • 牛逼!50.3K Star!一个自动将屏幕截图转换为代码的开源工具
  • 八种单例模式
  • 禅道密码正确但是登录异常处理
  • Go微服务: Nacos的搭建和基础API的使用
  • 基于Hadoop的城市公共交通大数据时空分析
  • DNS服务的部署与配置(2)
  • MySql--SQL语言
  • 【网络安全】2030年十大新兴网络安全威胁
  • python数据分析-CO2排放分析
  • 2024宝藏工具EasyRecovery数据恢复软件免费版本下载