iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue中父组件向子组件传递数据的几种方法
  • 283
分享到

Vue中父组件向子组件传递数据的几种方法

2024-04-02 19:04:59 283人浏览 独家记忆
摘要

最近在学习Vue的源码,总结了几种vue中父子组件传递数据的方法。 1.props & event 父组件向子组件传递props数据,子组件通过触发事件向父组件回传数据,代

最近在学习Vue源码总结了几种vue中父子组件传递数据的方法。

1.props & event

父组件向子组件传递props数据,子组件通过触发事件向父组件回传数据,代码如下:


//子组件 
<template>
    <div @click="changeName('YYY')">{{name}}</div>
</template>
<script>
export default{
    props:['name'],//or props:{name:{type:String,default:''}}
    methods:{
        //不能在子组件修改props数据,应触发事件让父组件处理
        changeName(newName){
            this.$emit('changeName',newName)
        }
    }
}
</script>
 
//父组件
<template>
    <div>
        <child-comp :name="name" @changeName="changeName"></child-comp>
    </div>
</template>
<script>
    import childComp from 'path'
    export default{
        data(){
            return {name:'XXX'}
        },
        components:{
            childComp
        },
        methods:{
            changeName(newName){
                this.name = newName;
            }
        }
    }
</scritp>

以上就是一个完整的流程,父组件通过props将数据传递给子组件,子组件则触发事件,由父组件监听,并做相应处理。

2.ref

ref属性可定义在子组件或原生DOM上,如果在子组件上,则指向子组件实例,如果在原生DOM上,则指向原生DOM元素(可以用做元素选择,省去querySelector的烦恼)。

传递数据的思路:在父组件内通过ref获取子组件实例,然后调用子组件方法,并传递相关数据作为参数。代码如下:


//子组件 
<template>
    <div>{{parentMsg}}</div>
</template>
<script>
export default{
    data(){
        return {
            parentMsg:''
        }
    },
    methods:{
        getMsg(msg){
            this.parentMsg = msg;
        }
    }
}
</script>
 
//父组件
<template>
    <div>
        <child-comp ref="child"></child-comp>
        <button @click="sendMsg">SEND MESSAGE</button>
    </div>
</template>
<script>
    import childComp from 'path'
    export default{
        components:{
            childComp
        },
        methods:{
            sendMsg(){
                this.$refs.child.getMsg('Parent Message');
            }
        }
    }
</scritp>

3.provide & inject 官方不推荐在生产环境使用

provide意为提供,当一个组件通过provide提供了一个数据,那么它的子孙组件就可以使用inject接受注入,从而可以使用祖先组件传递过来的数据。代码如下:


//child
<template>
    <div>{{appName}}</div>
</template>
<script>
export default{
    inject:['appName']
}
</script>
 
// root 
export default{
    data(){
        return {
            appName:'Test'
        }
    },
    provide:['appName']
}

4.vuex

vue官方推荐的全局状态管理插件。不细说。

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

--结束END--

本文标题: Vue中父组件向子组件传递数据的几种方法

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

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

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

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

下载Word文档
猜你喜欢
  • Vue中父组件向子组件传递数据的几种方法
    最近在学习vue的源码,总结了几种vue中父子组件传递数据的方法。 1.props & event 父组件向子组件传递props数据,子组件通过触发事件向父组件回传数据,代...
    99+
    2022-11-12
  • vue中怎么通过父组件向子组件传递数据
    本篇文章为大家展示了vue中怎么通过父组件向子组件传递数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 vue页面结构在做项目的时候常常有这样的一个情况...
    99+
    2022-10-19
  • vue中怎么实现父组件向子组件传递多个数据
    本篇文章为大家展示了vue中怎么实现父组件向子组件传递多个数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。第一种:静态数据传递:传递一个 字符串第二种:动态数据传...
    99+
    2022-10-19
  • Vue子组件向父组件传值示范方法
    目录一、要点概述二、分步讲解三、总代码和运行结果一、要点概述 子组件:通过某种事件(这里是@click点击事件,也可以是其他事件)发送数据,this.$emit('事件名&#...
    99+
    2023-03-20
    Vue子向父传值 Vue子组件向父组件传值
  • Vue父组件和子组件之间数据传递和方法调用
    vue组件在通信中,无论是子组件向父组件传值还是父组件向子组件传值,他们都有一个共同点就是有中间介质,子向父的介质是自定义事件,父向子的介质是props中的属性。 父组件向子组件传值...
    99+
    2022-12-14
    Vue 父组件向子组件传递数据 vue子组件向父组件传值
  • Vue父子组件传值的三种方法
    目录前言一、Vue父子传值的方法二、方法详解1.props / $emit2.$parent / children3.$ref总结提示:文章写完后,目录可以自动生成,如何生成可参考右...
    99+
    2022-12-20
    Vue父子组件传值 Vue父子组件
  • vue子组件中怎么通过自定义事件向父组件传递数据
    这篇文章将为大家详细讲解有关vue子组件中怎么通过自定义事件向父组件传递数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。使用v-on绑定自定义事件可以让子...
    99+
    2022-10-19
  • vue中怎么实现子组件传递数据给父组件
    本篇文章为大家展示了vue中怎么实现子组件传递数据给父组件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。发送者:modifyName:是接受者的键,也就是发送和接收...
    99+
    2022-10-19
  • Vue子组件向父组件传值的方法是什么
    这篇文章主要介绍了Vue子组件向父组件传值的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue子组件向父组件传值的方法是什么文章都会有所收获,下面我们一起来看看吧。一、要点概述子组件:通过某种事件(...
    99+
    2023-07-05
  • vue中子组件向父组件传递数据如何实现加减功能
    小编给大家分享一下vue中子组件向父组件传递数据如何实现加减功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!如下图所示:当没有任何操作的时候父组件的值是 0当点击加号以后父组件的值是 1...
    99+
    2022-10-19
  • Vue中父子组件数据传递的方式有哪些
    这篇文章主要介绍Vue中父子组件数据传递的方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!当我们在书写 vue 组件的时候,也许可能会用到数据传递;将父组件的数据传递给子组件...
    99+
    2022-10-19
  • vue中子组件怎么向父组件传值
    vue中子组件怎么向父组件传值,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一,子组件主动触发事件将数据传递给父组件1,在子组件上绑定某个事件以及事件触发的函数子组件代码&...
    99+
    2023-06-20
  • Vue父组件和子组件之间数据传递和方法怎么调用
    本篇内容主要讲解“Vue父组件和子组件之间数据传递和方法怎么调用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue父组件和子组件之间数据传递和方法怎么调用”吧!vue组件在通信中,无论是子组件...
    99+
    2023-07-04
  • vue父子组件之间的传参的几种方式小结
    目录Propsemitprovide/injectparent/$children属性Props 这是最常用的一种方式。通过props选项,在父组件中传递数据给子组件。在子组件中使用...
    99+
    2023-05-18
    vue 父子组件传参 vue父子传参
  • Vue父子组件属性传递实现方法详解
    目录前言组件之间属性的传递父组件传递属性给子组件子组件传递属性给父组件前言 这节我们主要从案例出发,用Vue3的写法写父子组件之间的属性传递。 组件之间属性的传递 我们定义一个Rat...
    99+
    2023-02-08
    Vue父子组件属性传递 Vue属性传递 Vue父子组件传递
  • vue中怎么实现子组件向父组件传值
    这篇文章给大家介绍vue中怎么实现子组件向父组件传值,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。父组件这么写<component-a v-on:child-say=&...
    99+
    2022-10-19
  • Vue中怎么实现父组件向子组件传值
    这期内容当中小编将会给大家带来有关Vue中怎么实现父组件向子组件传值,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1:在src/components/child/文件夹下...
    99+
    2022-10-19
  • Angular中父子组件间如何传递数据
    这篇文章主要介绍Angular中父子组件间如何传递数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!环境:Angular CLI: 11.0.6Angular: 11.0.7Node...
    99+
    2022-10-19
  • vue之父组件向子组件传值并改变子组件的样式
    问题描述:在做视频网站过程中发现每个视频的样式其实是大致相同的,所以就想着直接写个组件,但是又看不懂官网的传值,所以自己找了个视频看明白了。 想实现的效果: vue父组件向子组件传值...
    99+
    2022-12-24
    vue父组件向子组件传值 vue父组件改变子组件的样式
  • vue组件间的通信,子组件向父组件传值的方式汇总
    目录一、子组件通过this.$emit()的方式将值传递给父组件二、通过vuex来传递组件间的数据三、通过中央总线来传递组件间的数据四、通过修改父组件传过来的对象属性五、父组件使用子...
    99+
    2023-03-20
    vue组件通信 vue子组件 vue父组件传值
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作