广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue父子组件传值的三种方法
  • 702
分享到

Vue父子组件传值的三种方法

Vue父子组件传值Vue父子组件 2022-12-20 18:12:29 702人浏览 八月长安
摘要

目录前言一、Vue父子传值的方法二、方法详解1.props / $emit2.$parent / children3.$ref总结提示:文章写完后,目录可以自动生成,如何生成可参考右

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

例如:Vue的学习是路阻且艰的,这是一个系列文章,帮助vue的新手可以快速上路,创建的自己的项目,该系列文章主要讲解作者在vue学习之路上,创建项目中最重要的知识,因为笔者水平有限,希望大家多多指正,该系列文章旨在让大家感受vue的便捷,详细学习vue希望大家多多观看官方文档.

一、Vue父子传值的方法

我们在Vue项目进行父子传值主要有以下三种方法:
(1) props / $emit
(2) $parent / children
(3) $ref
在观看方法详解时大家先创建一个父组件parent.vue和一个子组件child.vue并完成父子组件的注册

二、方法详解

1.props / $emit

⼦组件中通过定义props接收⽗组件中通过v-bind绑定的数据

父传子

首先在父组件中定义一个示例data

import child from './child.vue' 
    export default {
        name:'parent',
        components:{
            child
        },
        data(){
            return{
                parentdata:"This is the first Word from parent"
            }
        }
    }

在父组件中使用子组件时用v-bind定义一个属性并将父组件的parentdata传入

<child :parentdata="parentdata"></child>

在子组件中使用props接收传入的属性,并可以直接使用

<template>
    <div>
        {{parentdata}}
    </div>
</template>

<script>
    export default {
        name:"child",
        props:{
            parentdata:{
                type:String,
                default:""
            }
        }
    }
</script>

观看结果:

父组件传入子组件的值就被显示出来了

子传父

首先在子组件中定义一个事件,并且使用emit发送给父组件,在示例中子组件使用的click事件触发发送自定义事件(sendmsg)

<template>
    <div>
        <button @click="childmsg">点我试试</button>
    </div>
</template>

<script>
    export default {
        name:"child",
        data(){
            return{
                msg:"This is the first word from child"
            }
        },
        methods:{
            childmsg(){
                this.$emit('sendmsg',this.msg)
            }
        }
    }
</script>

emit使用方法
this.$emit(‘自定义事件名’,所需要传的值)

在父组件中需要定义方法(getmsg)接受自定义事件(sendmsg):

<template>
    <div>
        <child :parentdata="parentdata" @sendmsg="getmsg"></child>
    </div>
</template>

<script>
    import child from './child.vue' 
    export default {
        name:'parent',
        components:{
            child
        },
        methods:{
            getmsg(val){
                console.log(val)
            }
        }
    }
</script>

在定义方法时直接在函数中设置形参接受子组件传入的值(getmsg(val))
在控制台就可以看见打印结果This is the first word from child

2.$parent / children

在使用这个方法时,大家可以先在父组件中打印出来$children,帮助大家理解
代码如下

mounted(){
            console.log(this.$children)
        }

可以看到,子组件被打印出来了

只要找到组件对象对应的属性,就可使用

mounted(){
            alert(this.$children[0].msg)
        }

可以看到结果

注意,这种方法不仅可以调用数据,也可以使用子组件的方法!(但不可以直接调用,这个接下来的文章再说)

如果是子组件使用父组件的数据,可以同样的流程

3.$ref

ref可以让父组件更加便利地取到想要的子组件,其中原理和第二种方法相同,都是取到组件对象

在父组件中定义ref

<template>
    <div>
        <child ref="childselected"></child>
    </div>
</template>

在父组件中取值:

mounted(){
            alert(this.$refs.childselected.msg)
        }

可以看到相同的结果:

总结

***本篇主要讲解了Vue项目中父子组件传值的三种方法:
props/$emit
子组件通过v-bind接收父组件的值
父组件通过接收emit发送的事件接收子组件的值
$parent/children
直接获取组件对象来取值
$ref
定义属性名获取组件对象值

到此这篇关于Vue父子组件传值的文章就介绍到这了,更多相关Vue父子组件传值内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue父子组件传值的三种方法

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

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

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

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

下载Word文档
猜你喜欢
  • Vue父子组件传值的三种方法
    目录前言一、Vue父子传值的方法二、方法详解1.props / $emit2.$parent / children3.$ref总结提示:文章写完后,目录可以自动生成,如何生成可参考右...
    99+
    2022-12-20
    Vue父子组件传值 Vue父子组件
  • Vue子组件向父组件传值示范方法
    目录一、要点概述二、分步讲解三、总代码和运行结果一、要点概述 子组件:通过某种事件(这里是@click点击事件,也可以是其他事件)发送数据,this.$emit('事件名&#...
    99+
    2023-03-20
    Vue子向父传值 Vue子组件向父组件传值
  • 分享Vue子组件接收父组件传值的3种方式
    目录1.简单声明接收2.接收数据的同时进行 类型限制3.接收数据的同时对 数据类型、必要性、默认值 进行限制父组件代码↓ <template>     <...
    99+
    2022-11-13
  • Vue子组件向父组件传值的方法是什么
    这篇文章主要介绍了Vue子组件向父组件传值的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue子组件向父组件传值的方法是什么文章都会有所收获,下面我们一起来看看吧。一、要点概述子组件:通过某种事件(...
    99+
    2023-07-05
  • uniapp组件传值的方法(父传子,子传父,对象传值)实战案例
    目录前言父组件给子组件传值子组件给父组件传值父组件给父组件传对象值总结 前言 最近看到uniapp组件传值的方法,这里记录一下,学过vue的应该都觉得很简单,传值的方法基本...
    99+
    2023-03-01
    uniapp 组件传值 uniapp如何使用组件的值 uniapp组件传值实例
  • Vue实现父子组件传值的方法是什么
    这篇文章主要介绍了Vue实现父子组件传值的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue实现父子组件传值的方法是什么文章都会有所收获,下面我们一起来看看吧。父传子通过 props。props 就...
    99+
    2023-07-05
  • vue子传父的一种新方法:this.$emit(‘input‘, value)可实现实时向父组件传值
    今天要说的就是利用v-model和this.$emit(‘input’,value)实现子传父。 众所周知,v-model是给input绑定,方便对表单的双向绑定。 其实,v-model是个语法糖,具...
    99+
    2023-09-21
    vue.js 前端 javascript
  • vue父组件如何向子组件传值
    vue父组件向子组件传值的方法:vue父组件是通过props向子组件传值的,示例如下:父组件调用子组件时,绑定动态属性。<v-header :title='title' :homemsg='...
    99+
    2022-10-22
  • vue父子组件间如何传值
    本文小编为大家详细介绍“vue父子组件间如何传值”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue父子组件间如何传值”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。父组件传递方法首先,在Vue中父组件向子组件传...
    99+
    2023-07-06
  • Vue中父组件向子组件传递数据的几种方法
    最近在学习vue的源码,总结了几种vue中父子组件传递数据的方法。 1.props & event 父组件向子组件传递props数据,子组件通过触发事件向父组件回传数据,代...
    99+
    2022-11-12
  • vue中父组件如何给子组件传值
    小编给大家分享一下vue中父组件如何给子组件传值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一般情况下我们父子之间的传值用的是...
    99+
    2022-10-19
  • vue中子组件怎么向父组件传值
    vue中子组件怎么向父组件传值,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一,子组件主动触发事件将数据传递给父组件1,在子组件上绑定某个事件以及事件触发的函数子组件代码&...
    99+
    2023-06-20
  • vue如何实现父子组件传值
    小编给大家分享一下vue如何实现父子组件传值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!父子组件传值<!DOCTYPE&...
    99+
    2022-10-19
  • Vue子组件接收父组件传值的方式有哪些
    这篇文章给大家分享的是有关Vue子组件接收父组件传值的方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。父组件代码&darr;<template>   &n...
    99+
    2023-06-29
  • React父子组件传值(组件通信)的实现方法
    目录1、父组件传值子组件2、子组件传值父组件3、兄弟组件传值1、父组件传值子组件 在引用子组件的时候传递,相当于一个属性,例如:在子组件内通过porps.param获取到这个para...
    99+
    2022-11-13
  • vue父子组件传值不能实时更新的解决方法
    最近做项目,遇到个大坑,这会爬出来了,写个总结,避免下次掉坑。 vue父子组件传值不能实时更新问题,父组件将值传给了子组件,但子组件显示的值还是原来的初始值,并没有实时更新,为什么会...
    99+
    2023-05-20
    父子组件传值 vue vue父传子值实时更新 vue 组件之间传值
  • Vue中如何实现父子组件传值
    Vue中如何实现父子组件传值,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。(一)传递数值1.子组件:Header.vue<templat...
    99+
    2022-10-19
  • Vue中父子组件如何实现传值
    目录前言一、将子组件引入父组件二、父组件如何传值给子组件三、子组件如何接收父组件传过来的值并使用(props)四、子组件如何传值给父组件($emit)五、父组件使用子组件传过来的值总...
    99+
    2023-01-28
    Vue父子组件 Vue组件传值 Vue父子组件传值
  • Vue 通过this.$emit()方法子组件向父组件传值(步骤分享)
    目录子组件使用this.$emit()向父组件传值第一步 在父组件中引入子组件第二步 子组件向父组件传值子组件使用this.$emit()向父组件传值 首先必须在父组件中引用子组件,...
    99+
    2022-11-13
    vue子组件向父组件传值 vue this.$emit()组件传值
  • vue父子组件传值的原理是什么
    vue父子组件传值的原理是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。文件目录如下图,example.vue是父组件,exampleCh...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作