vue父子组件传值

本文详细介绍了在Vue中如何进行父子组件间的通信,包括通过ref属性获取子组件值、调用子组件方法,以及使用.sync修饰符实现双向绑定。同时,也讲解了使用自定义事件和Bus事件总线来实现组件间的通信,提供了一种灵活的数据传递方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

父组件引用子组件

首先在父组件里引用子组件:(图1)
请添加图片描述
如上图,以子组件为例。图1为父组件内容。

子组件内:
请添加图片描述
请添加图片描述

引用并注册子组件

首先import组件

import StepForm from "@/views/cjdp/alarm/configuration/stepform/stepform";

然后再components属性里面注册此组件,如图1。注册名应与import后的名字一致–StepForm

如此,即可在父组件中使用此子组件。用法: 放在相应位置即可展示子组件内容。

父组件与子组件之间传值

父组件获取子组件里的data里定义的对象的值

首先,子标签里要加上ref

<StepForm ref="stepFormVue"></StepForm>

父组件里获取stepform子组件里的flag的值:

this.$refs.stepFormVue.flag

父组件调用子组件里的方法

this.$refs.stepFormVue.stepFunction()

子组件使用父组件的数据(父组件传值给子组件)

<StepForm ref="stepFormVue" :stepForm.sync="stepForm"></StepForm>

(.sync表示在子组件内可以修改stepForm的值)

在子组件内的props内加上stepForm相关信息:

请添加图片描述

子组件修改父组件的对象的值

this.$emit("update:stepForm",newStepForm)
//将stepForm更新为newStepForm

子组件调用父组件里的方法

this.$emit("fatherFunctionName",value)
//fatherFunctionName为父组件方法的方法名,value为方法所需的参数
Bus传值

首先写一个bus的js文件,内容为:
请添加图片描述
子组件引用这个js文件,然后:

请添加图片描述

父组件获取ruleFormFlag的值(父组件也需要引入bus.js文件):
请添加图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值