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

vue2中父子组件传值案例总结

在 Vue 2 中,父子组件之间的传值是通过 props 和事件来实现的。下面是详细的解释和总结:

1. 父组件向子组件传值

父组件可以通过 props 向子组件传递数据。以下是一个简单的示例:

父组件 (Parent.vue)
<template><div><h1>父组件</h1><child-component :message="parentMessage"></child-component></div>
</template><script>
import ChildComponent from './Child.vue';export default {components: {ChildComponent},data() {return {parentMessage: 'Hello from Parent!'}}
}
</script>
子组件 (Child.vue)
<template><div><h2>子组件</h2><p>{{ message }}</p></div>
</template><script>
export default {props: {message: {type: String,required: false, // 不是必需的default: '默认消息' // 设置默认值}}
}
</script>

2. 子组件向父组件传值

子组件可以通过 $emit 方法向父组件发送事件,父组件可以监听这个事件并处理数据。以下是示例:

子组件 (Child.vue)
<template><div><h2>子组件</h2><button @click="sendMessage">发送消息给父组件</button></div>
</template><script>
export default {methods: {sendMessage() {this.$emit('messageFromChild', 'Hello from Child!');}}
}
</script>
父组件 (Parent.vue)
<template><div><h1>父组件</h1><child-component @messageFromChild="receiveMessage"></child-component><p>收到的消息: {{ receivedMessage }}</p></div>
</template><script>
import ChildComponent from './Child.vue';export default {components: {ChildComponent},data() {return {receivedMessage: ''}},methods: {receiveMessage(message) {this.receivedMessage = message;}}
}
</script>

总结

  • 父组件向子组件传值:使用 props。父组件定义数据并将其作为属性传递给子组件。
  • 子组件向父组件传值:使用自定义事件。子组件通过 $emit 发送事件,父组件通过 v-on 或 @ 监听这些事件并处理传递的数据。
  • 单向数据流:在 Vue 中,数据流是单向的,父组件的数据流向子组件,而子组件通过事件向父组件发送信息。

这种父子组件间的通信方式使得组件之间的关系清晰,便于维护和扩展。

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

相关文章:

  • 功能篇:springboot中实现文件导出
  • Redis客户端(Jedis、RedisTemplate、Redisson)
  • Mybatis中SQL的执行过程
  • 【数据结构——栈与队列】顺序栈的基本运算(头歌实践教学平台习题)【合集】
  • 【论文阅读】PRIS: Practical robust invertible network for image steganography
  • 在Linux桌面系统普及化方面的一些建议
  • LLM - 多模态大模型的开源评估工具 VLMEvalKit 部署与测试 教程
  • 数据结构(Queue队列)
  • Qt 图形框架下图形拖动后位置跳动问题
  • 【Linux篇】走进Linux — 开启开源操作系统之旅
  • 如何利用DBeaver配置连接MongoDB和人大金仓数据库
  • Android 车载虚拟化底层技术-Kernel 5.10 -Android12(multi-cards)技术实现
  • Qt之点击鼠标右键创建菜单栏使用(六)
  • 开发一套SDK 第一弹
  • sftp+sshpass
  • 【机器学习与数据挖掘实战】案例01:基于支持向量回归的市财政收入分析
  • Idea实现定时任务
  • Linux 安装NFS共享文件夹
  • bash 判断内存利用率是否高于60%
  • 推送(push)项目到gitlab
  • centos9升级OpenSSH
  • 硬件成本5元-USB串口采集电表数据完整方案-ThingsPanel快速入门
  • 在AWS EMR上用Hive、Spark、Airflow构建一个高效的ETL程序
  • 前端(四)css选择器、css的三大特性
  • vscode 打开 setting.json
  • 关于网络安全攻防演化博弈的研究小议
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(7)
  • 远程桌面防护的几种方式及优缺点分析
  • ASP.NET|日常开发中连接Sqlite数据库详解
  • python的自动化seleium安装配置(包含谷歌的chromedriver)