广告
返回顶部
首页 > 资讯 > 精选 >Vue中父子组件间怎么通信的
  • 246
分享到

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

2023-06-21 21:06:23 246人浏览 薄情痞子
摘要

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

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

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

Vue父子组件

什么是父子组件?

在一个组件中引入另一个组件,被引入的就叫做子组件,因为vue的模块化,会把有公共的部分单独抽成一个模块,不会把所有页面内容写在一个vue文件下,因为模块化的原因,避免不了两个模块之间的通信问题,这时候就有了模块(组件)之间的数据传递问题。

Vue父子组件通信

在vue中经常会一个组件经常会用到另一个组件的数据或者方法,这时候就有了父子组件之间的通信问题

Vue 父传子

先看代码,讲解在下面

<body>//父组件<div id="app">    <cpn3 :ctitle="title"></cpn3></div>//子组件<template id="cpn3">    <div>        <h2>{{ctitle}}</h2>        <p>orange</p>    </div></template><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><script>    //子组件    Vue.component("cpn3", {        template: "#cpn3",        // 组件里的data是一个函数,必须要返回一个对象,变量写在返回对象里        props: {            ctitle: {                type: String,                default () {                    return {}                }            }        }    })//父组件    const app = new Vue({        el: "#app",        data: {            title: 'orange'        },        methods: {},    })</script></body>

讲解:
1.先写出基本的模板分离组件

在子组件中加入props属性,用对象方式,,在props里面可以写你需要传的参数,参数也用对象方式,代码比较清晰,

    //子组件    Vue.component("cpn3", {        template: "#cpn3",        // 组件里的data是一个函数,必须要返回一个对象,变量写在返回对象里        props: {            ctitle: {            //参数也使用对象形式,type传类型  default函数,是在找不到参数时返回一个值显示                type: String,                default () {                    return {}                }            }        }    })

然后在父组件中加入需要的属性

//父组件    const app = new Vue({        el: "#app",        data: {        //这里的title就是要传入子组件的属性  在父组件中定义            title: 'orange'        },        methods: {},    })

在父组件中绑定两个参数

 <div id="app">//可以理解为将父组件中title 赋值给 ctitle,这样子组件就可以使用父组件的data属性了    <cpn3 :ctitle="title"></cpn3></div>

最后在在子组件中要使用子组件定义的属性名

//子组件<template id="cpn3">    <div>    //这里的属性名为ctitle        <h2>{{ctitle}}</h2>    </div></template>

Vue 子传父

1.子传父的意思就是,,子组件内容传给父组件,,使父组件可以随时使用子组件传来的数据,使用方法为:自定义函数

首先我们来做一个仿淘宝侧边栏商品,点击或者鼠标移动到上面出现内容商品案例

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

以上面这个图片为例,我们来讲一下组件传递的子传父

2.1我们将子组件和父组件分开先,挨个讲  先来看看子组件代码

<!-- 子组件 --><template id="cpn">    <div>        <h2>{{ctitle}}</h2>        <button v-for="item in list" @click="Goodsclick(item)">{{item.name}}</button>    </div></template><script>Vue.component("cpn", {        template: '#cpn',        //父传子 props           props: {            ctitle: {                type: String,                //找不到数据时                default () {                    return {}                }            }        },        data() {            return {                list: [{                    id: 'phone',                    name: '手机'                }, {                    id: 'tv',                    name: '电视'                }, {                    id: 'p',                    name: '家电'                }, {                    id: 'computer',                    name: '电脑'                }, ]            }        },        //子传父 自定义事件        methods: {            // 自定义事件            goodsclick(item) {                this.$emit('itemclick', item)            }        }    })    </script>

讲解:子组件就是写出一个组件(html)包装起来,并且可以随时使用, 也就相当于html一样的,只是打包起来而已(这么理解应该没什么问题)

子组件和vue一样有data,methods,这属性所以在data中写一个数组,然后用v-for的方式遍历生成按钮和正常写法没什么差别,然后写个函数,绑定点击事件,并且将item,也就是数组传入的对象传入函数,

<button v-for="item in list" @click="goodsclick(item)">{{item.name}}</button>

然后最重要,最关键的一步来了,就是在你绑定的点击事件函数中,发射一个自定义函数给父组件,就是发送给父组件

methods: {            // 自定义事件            goodsclick(item) {            //itemclick就是自定义函数,并且将item也传过去给父组件                this.$emit('itemclick', item)            }        }

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

这就是子组件写完,这是子组件的样式,上图所示

2、接下来讲讲父组件怎么接收子组件传来的自定义事件

<!-- 父组件 --><div id="app">    <cpn :ctitle="title" @itemclick="cpnclick"></cpn></div><script>//父组件        const app = new Vue({        el: "#app",        data: {            title: "title",        },        methods: {            cpnclick(item) {                console.log("cpnclick", item);            }        }    })</script>

讲解一下:你写好了子组件就要调用,调用就是你的组件名作为标签即可,,这里是

<cpn :ctitle="title" @itemclick="cpnclick"></cpn>

在父组件中写一个函数然后在里面绑定从子组件传过来的自定义事件,这样就成功绑定子组件,这样就完成子组件传数据到父组件了

到此,相信大家对“Vue中父子组件间怎么通信的”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Vue中父子组件间怎么通信的

本文链接: https://www.lsjlt.com/news/300960.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Vue中父子组件间怎么通信的
    本篇内容主要讲解“Vue中父子组件间怎么通信的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中父子组件间怎么通信的”吧!Vue父子组件什么是父子组件?在一个组件中引入另一个组件,被引入的就...
    99+
    2023-06-21
  • 浅析Vue中父子组件间怎么通信(父传子|子传父)
    1、父组件传递给子组件⭐⭐父组件传递给子组件:通过props属性;【相关推荐:vuejs视频教程、web前端开发】子组件传递给父组件:通过$emit触发事件;  这里我们知道,父组件有一些数据需要子组件来进行展示,那我们可以通过props来...
    99+
    2022-11-22
    组件通信 组件 Vue
  • vue中怎么实现父子组件间通信
    这篇文章将为大家详细讲解有关vue中怎么实现父子组件间通信,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。组件间通信($parent $refs)父组件要想获...
    99+
    2022-10-19
  • vue父子组件间通信怎么实现
    本篇内容介绍了“vue父子组件间通信怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.父组件传递数据给子组件父组件数据如何传递给子组...
    99+
    2023-07-04
  • vue中怎样实现父子组件间通信
    今天就跟大家聊聊有关vue中怎样实现父子组件间通信,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。建两个组件father.vue和child.vue作...
    99+
    2022-10-19
  • Vue父子组件之间事件通信怎么实现
    这篇“Vue父子组件之间事件通信怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue父子组件之间事件通信怎么实现”文...
    99+
    2023-07-05
  • Vue中父子组件间通信的方法是什么
    这篇文章主要讲解了“Vue中父子组件间通信的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中父子组件间通信的方法是什么”吧!1、父组件传递给子组件父组件传递给子组件:通过pr...
    99+
    2023-07-04
  • Vue怎么用父组件向子组件通信
    本文小编为大家详细介绍“Vue怎么用父组件向子组件通信”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue怎么用父组件向子组件通信”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。props组件实例的作用域是孤立的...
    99+
    2023-07-04
  • Vue中怎么利用父组件向子组件通信
    今天就跟大家聊聊有关Vue中怎么利用父组件向子组件通信,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。props组件实例的作用域是孤立的。子组件的模板...
    99+
    2022-10-19
  • Vue 中怎么实现非父子组件通信
    这篇文章给大家介绍Vue 中怎么实现非父子组件通信,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Vue 官网介绍了非父子组件通信方法:不过官网说的太简单了,新手看完估计还是一脸懵逼。还...
    99+
    2022-10-19
  • Vue中怎么实现非父子组件通信
    这篇文章将为大家详细讲解有关Vue中怎么实现非父子组件通信,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。组件是Vue核心的一块内容,组件之间的通信也是很基本...
    99+
    2022-10-19
  • vue父子组件间怎么进行通讯
    本文小编为大家详细介绍“vue父子组件间怎么进行通讯”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue父子组件间怎么进行通讯”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。如何解决组件之间通讯呢?解决方案:可以...
    99+
    2023-06-30
  • Vue组件通信方式(父传子、子传父、兄弟通信)
    目录父组件传到子组件子组件向父组件传值非父子传参 (事件总线)vue 跨页面双向通信同源通信非同源通讯父组件传到子组件 父组件是通过props属性给子组件通信的 数据是单向流动 父&...
    99+
    2022-11-13
  • Vue父子组件之间事件通信示例解析
    目录前言示例解析总结前言 组件间传值的章节我们知道父组件给子组件传值的时候,使用v-bind的方式定义一个属性传值,子组件根据这个属性名去接收父组件的值,但是假如子组件想给父组件一些...
    99+
    2023-03-19
    Vue父子组件事件通信 Vue父子组件通信 Vue事件通信
  • Vue非父子组件之间的通信方式详解
    目录非父子组件的通信1.Provide和Inject1.1基本使用1.2处理响应式数据(了解)2.全局事件总线总结非父子组件的通信 此篇讲解的是, 在学习状态管理之前, 非父子间通信...
    99+
    2022-11-13
  • vue中父组件和子组件怎么通讯
    这篇文章主要介绍“vue中父组件和子组件怎么通讯”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中父组件和子组件怎么通讯”文章能帮助大家解决问题。一、单向数据流在 Vue.js 中,父组件向子组...
    99+
    2023-07-06
  • vue组件间的通信,子组件向父组件传值的方式是什么
    今天小编给大家分享一下vue组件间的通信,子组件向父组件传值的方式是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、子...
    99+
    2023-07-05
  • Vue如何实现父子组件之间的通信功能
    这篇文章主要为大家展示了“Vue如何实现父子组件之间的通信功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue如何实现父子组件之间的通信功能”这篇文章吧。在...
    99+
    2022-10-19
  • vue组件间的通信,子组件向父组件传值的方式汇总
    目录一、子组件通过this.$emit()的方式将值传递给父组件二、通过vuex来传递组件间的数据三、通过中央总线来传递组件间的数据四、通过修改父组件传过来的对象属性五、父组件使用子...
    99+
    2023-03-20
    vue组件通信 vue子组件 vue父组件传值
  • Angular中父子组件间如何进行通信
    今天就跟大家聊聊有关Angular中父子组件间如何进行通信,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。通过Input和Ouput传值父组件:htm...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作