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

不同组件之间相互传递信息的方式(拓展知识)

文章目录

  • 🐒个人主页
  • 🏅JavaEE系列专栏
    • 📖前言:
    • 🏨补充知识:不同组件之间通过get()方式传递信息
  • 🎀父组件与子组件之间的信息交互 $emit 方法
    • 🏅父组件给子组件发信息(这个是官方的案例)(原理是事件监听)
    • 🏅子组件给父组件发信息(个人案例)

🐒个人主页

🏅JavaEE系列专栏

📖前言:

本篇博客主要以介绍不同组件之间如何传递信息的,传递方式包括get()方式(需要跳转)父子组件之间相互的传递:、其实还有一种是基于主线程来传递的(我没有接触到🐒)

🏨补充知识:不同组件之间通过get()方式传递信息

传递信息的组件

this.$router.push("/?account="+this.form.account);

接收信息的组件

mounted() {//一般情况下在页面加载时就接收信息,所以一般在mounted的方法中写this.form.account=this.$route.query.account;}

🎀父组件与子组件之间的信息交互 $emit 方法

应用场景:我们可能会遇到这种情景:当一个子组件完成任务时,我们想让父组件执行一些指令,这时就需要子组件向父组件发送信息,让父组件去执行对应的指令。

🏅父组件给子组件发信息(这个是官方的案例)(原理是事件监听)

🎀🎀🎀🎀🎀🎀这个是父组件里的内容🎀🎀🎀🎀🎀🎀🎀🎀🎀

<template><div><button @click="sendData">Send Data</button><child-component @custom-event="handleCustomEvent"></child-component></div>
</template><script>
import ChildComponent from './ChildComponent.vue';export default {components: {ChildComponent,},methods: {sendData() {const data = { name: 'Hello from parent component!' };//这里是准备给子组件传递的信息this.$emit('custom-event', data); // 触发自定义事件,发送信息}},
};
</script>

🎀🎀🎀🎀🎀🎀这个是子组件里的内容🎀🎀🎀🎀🎀🎀🎀🎀🎀
在子组件中监听这个自定义事件,并在回调函数中执行相应的逻辑。例如:

<!-- ChildComponent.vue -->
<template><div><button @click="updateParentData">Update Parent Data</button></div>
</template><script>
export default {methods: {updateParentData() {const newData = { name: 'Hello from child component!' };//这里是接收父组件传递的信息的容器this.$emit('update-parent-data', newData); // 触发自定义事件,并接收新数据对象}}
};
</script>

以下是:子组件给父组件传递信息

🏅子组件给父组件发信息(个人案例)

🎀🎀🎀🎀🎀🎀这个是子组件里的内容🎀🎀🎀🎀🎀🎀🎀🎀🎀

<template><div><el-button type="primary" @click="addSudent()">保 存</el-button></div>
</template>
<script>
export default {methods: {addSudent(){//向父组件Stulist发送更新请求🎀🎀🎀🎀🎀🎀🎀🎀const data = true;//子组件向父组件发送的信息this.$emit('Add-event', data); // 触发自定义Add-event响应事件}}
}						
</script>

🎀🎀🎀🎀🎀🎀这个是父组件里的内容🎀🎀🎀🎀🎀🎀🎀🎀🎀

<template><div><Add ref="add" @Add-event="add"></Add><!-- 这个是导入的组件标签,@Add-event是响应事件 --></div>
</template><script>
import Add from './Add.vue';
export default {components:{Add},methods: {add(data){//🎀🎀🎀🎀🎀🎀if(data==true){//组件信息交互--🎀🎀🎀🎀🎀🎀🎀🎀// 在此处执行向后端发送 get 请求的逻辑,更新表格//这里写需要父组件执行的指令}}}
}	
</script>
http://www.lryc.cn/news/116975.html

相关文章:

  • idea找不到DataBase
  • 研发工程师玩转Kubernetes——PVC使用Label和storage选择PV
  • 【VUE】localStorage、indexedDB跨域数据操作实战笔记
  • 四、web应用程序技术——HTTP
  • B2B2C小程序商城系统--跨境电商后台数据采集功能开发
  • Python-OpenCV中的图像处理-形态学转换
  • 理解 Python 的 for 循环
  • 携程验证码
  • 资深媒体人宋繁银加入《数据猿》任总编辑,全面负责公司整体内容工作
  • 【Unity实战100例】人物状态栏UI数据刷新—MVC观察者模式
  • 8路AD采集FMC子卡【产品资料】
  • 文章三:团队协作实践 - 协作高手:Git团队开发最佳实践
  • Pyinstaller 打包 django 项目如何将命令行参数加入?
  • hive锁的管理器的介绍
  • 以太网TCP协议(十二)
  • ARM 架构下的汇编指令(持续更新中)
  • 11款UML/SysML建模工具更新(2023.7)Papyrus、UModel……
  • FPGA外部触发信号毛刺产生及滤波
  • day38 滑动窗口
  • 翻出了我当时学习的笔记来了html
  • vuejs 设计与实现 - 快速diff算法
  • webpack基础知识七:说说webpack proxy工作原理?为什么能解决跨域?
  • nginx负载均衡(nginx结束)
  • Git与Github常用方法
  • Centos7离线安装MySQL8
  • AWD攻防学习总结(草稿状态,待陆续补充)
  • 扫雷(超详解+全部码源)
  • python生成exe脚本全过程
  • 【机器学习1】什么是机器学习机器学习的重要性
  • 立即开始使用 3D 图像