我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue父子组件间怎么进行通讯

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue父子组件间怎么进行通讯

本文小编为大家详细介绍“vue父子组件间怎么进行通讯”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue父子组件间怎么进行通讯”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

vue父子组件间怎么进行通讯

如何解决组件之间通讯呢?

解决方案:

可以采用父组件传数据给子组件,还可以子组件传数据给父组件。简称父传子,子传父。

下面详细说说父组件是如何将数据传给子组件的。

父传子


理论:如果一个组件A引入并使用了另一个组件B时,那么组件A就是父组件,组件B就是子组件。

实现过程:

   1.在父组件中引入子组件、注册子组件、使用子组件     2.在父组件中的子组件标签上自定义一个属性 左边是定义的名称,右边是父组件中的数据 例如   <MyCon :list="list" />   3.在子组件中用prpos接收父组件传来的数据 例如:prpos:['list']  注意这里面的名称必须要和父组件   定义的名称一致才能可以。

原理图示

vue父子组件间怎么进行通讯

父组件 Footer.vue

在父组件中的子组件标签上自定义一个属性

<template>  <div>    <h2>父组件传子组件</h2>    <!-- 使用组件   自定义属性 -->    <MyCon :name="name" :age="age" />  </div></template><script>// 引入组件 --> 创建组件 -->  使用组件// 引入组件import MyCon from "./MyCon.vue";export default {   //  创建组件   components: { MyCon },  // 数据  data() {    return {      name: "张三",      age: 38,    };  },};</script>

子组件 MyCon.vue

在子组件中用prpos接收父组件传来的数据

<template>  <div>    <h3>子组件</h3>     // 直接在标签中使用    <p>{{ name }} {{ age }}</p>    <button @click="fn">点击修改props的值</button>  </div></template><script>export default {  // 子组件接收父组件传来的数据  props: ["name", "age"],  methods: {    fn() {      this.name = "傻逼谭磊";      this.age = 20    },  },};</script>

小案例 采用了父传子

父组件   App.vue

<template>  <div style="border: 1px solid #ccc; margin: 5px; padding: 5px">    <h2>父组件</h2>    <!-- 1. 父传。自定义属性 -->    <MyProduct      v-for="item in list"      :key="item.id"      :price="item.proprice"      :info="item.info"      :goodname="item.proname"    />  </div></template><script>// 导入->注册->使用import MyProduct from "./MyProduct.vue";export default {  data() {    return {      list: [        {          id: 1,          proname: "超级好吃的棒棒糖",          proprice: 18.8,          info: "开业大酬宾, 全场8折",        },        {          id: 2,          proname: "超级好吃的大鸡腿",          proprice: 34.2,          info: "好吃不腻, 快来买啊",        },        {          id: 3,          proname: "超级无敌的冰激凌",          proprice: 14.2,          info: "炎热的夏天, 来个冰激凌了",        },      ],    };  },  components: { MyProduct },};</script><style></style>

子组件 MyProduct.vue

<template>  <div style="border: 1px solid #ccc; margin: 5px; padding: 5px">    <h3>标题: {{ goodname }}</h3>    <p>价格: {{ price }}元</p>    <p>{{ info }}</p>  </div></template><script>export default {  props: ["goodname", "price", "info"],};</script><style></style>

效果展示

vue父子组件间怎么进行通讯

子传父


实现过程

     1.在父组件中引入子组件、注册子组件、使用子组件       2.在父组件的子组件标签上加一个事件监听 例如:  <MyCon @abc="fn" />     3.在子组件中触发这个自定义的监听事件。例如:this.$emit("abc",参数)

原理图示

vue父子组件间怎么进行通讯

父组件 App.vue

在父组件的子组件标签上加一个事件监听 用形参接收数据

<template>  <div>    <h2>父组件</h2>    <!-- 1.添加事件监听 -->    <!-- 当子组件发生了abc事件要执行fn函数 -->    <MyCon @abc="fn" />  </div></template><script>// 引入子组件import MyCon from "./MyCon.vue";export default {  methods: {  // 形参接收    fn(obj) {      // 打印查看有没有获取到      console.log("fn发生了abc事件", obj);    },  },  components: { MyCon },};</script>

子组件 MyCon.vue

在子组件中触发这个自定义的监听事件

<template>  <div>    <h3>子组件</h3>    <button @click="ConFn">子传父</button>  </div></template><script>export default {  methods: {    ConFn() {      console.log("子组件click");      // 2.触发abc事件      this.$emit("abc", { name: "吊毛谭磊" });    },  },};</script>

商品案例 运用了子传父

父组件 App.vue

<template>  <div style="border: 1px solid #ccc; margin: 5px; padding: 5px">    <h2>父组件</h2>    <!-- 1. 父传。自定义属性 -->    <!-- 添加自定义事件 -->    <MyProduct      v-for="(item, idx) in list"      :idx="idx"      :key="item.id"      :price="item.proprice"      :info="item.info"      :goodname="item.proname"      @pdd="fn"    />  </div></template><script>// 导入->注册->使用import MyProduct from "./MyProduct.vue";export default {  data() {    return {      list: [        {          id: 1,          proname: "超级好吃的棒棒糖",          proprice: 18.8,          info: "开业大酬宾, 全场8折",        },        {          id: 2,          proname: "超级好吃的大鸡腿",          proprice: 34.2,          info: "好吃不腻, 快来买啊",        },        {          id: 3,          proname: "超级无敌的冰激凌",          proprice: 14.2,          info: "炎热的夏天, 来个冰激凌了",        },      ],    };  },  components: { MyProduct },  methods: {    fn(obj) {      console.log("父组件,收到了pdd事件", obj);      // 计算砍了几元 相减  再进行重新赋值      this.list[obj.idx].proprice -= obj.ran;    },  },};</script><style></style>

子组件 MyProduct.vue

<template>  <div style="border: 1px solid #ccc; margin: 5px; padding: 5px">    <h3>标题: {{ goodname }}</h3>    <p>价格: {{ price }}元</p>    <p>{{ info }}</p>    <button @click="bargain">随机砍价</button>  </div></template><script>export default {  // 子接收  props: ["goodname", "price", "info", "idx"],  methods: {    bargain() {      // 随机数字      const ran = Math.ceil(Math.random() * 10);      // 触发自定义事件      // 为了知道具体是哪个商品要减少价格,所以要回传idx下标      this.$emit("pdd", { idx: this.idx, ran });    },  },};</script><style></style>

效果展示

vue父子组件间怎么进行通讯

读到这里,这篇“vue父子组件间怎么进行通讯”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue父子组件间怎么进行通讯

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue父子组件间怎么进行通讯

本文小编为大家详细介绍“vue父子组件间怎么进行通讯”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue父子组件间怎么进行通讯”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。如何解决组件之间通讯呢?解决方案:可以
2023-06-30

vue中父组件和子组件怎么通讯

这篇文章主要介绍“vue中父组件和子组件怎么通讯”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中父组件和子组件怎么通讯”文章能帮助大家解决问题。一、单向数据流在 Vue.js 中,父组件向子组
2023-07-06

浅析Vue中父子组件间怎么通信(父传子|子传父)

Vue中父子组件间怎么通信?下面本篇文章给大家介绍一下父传子和子传父的方法,希望对大家有所帮助!
2022-11-22

Vue中父子组件间怎么通信的

本篇内容主要讲解“Vue中父子组件间怎么通信的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中父子组件间怎么通信的”吧!Vue父子组件什么是父子组件?在一个组件中引入另一个组件,被引入的就
2023-06-21

vue父子组件间通信怎么实现

本篇内容介绍了“vue父子组件间通信怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.父组件传递数据给子组件父组件数据如何传递给子组
2023-07-04

vue父子组件进行通信方式是怎样的

这篇文章主要介绍“vue父子组件进行通信方式是怎样的”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue父子组件进行通信方式是怎样的”文章能帮助大家解决问题。如图所示,父组件向子组件传递数据,可以通
2023-06-29

React父子组件间的通信是怎样进行的

这篇文章主要介绍了React中父子组件通信详解,在父组件中,为子组件添加属性数据,即可实现父组件向子组件通信,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
2023-03-14

Vue父子组件之间事件通信怎么实现

这篇“Vue父子组件之间事件通信怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue父子组件之间事件通信怎么实现”文
2023-07-05

Vue怎么用父组件向子组件通信

本文小编为大家详细介绍“Vue怎么用父组件向子组件通信”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue怎么用父组件向子组件通信”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。props组件实例的作用域是孤立的
2023-07-04

父子聊通讯:揭秘 VUE 父子组件通信的那些事儿

本文将深入解析VUE父子组件通信的原理和实现方式,并通过代码示例展示如何使用props、$emit、ref、$children和$parent实现父子组件间的通信。
父子聊通讯:揭秘 VUE 父子组件通信的那些事儿
2024-02-07

React父子组件间的通信是如何进行的

本篇内容介绍了“React父子组件间的通信是如何进行的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!父子组件通信方式(1)传递数据(父传子)
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录