vue中子组件与父组件数据之间的相互调用

本文详细介绍了在Vue中如何实现父子组件之间的数据传递。包括父组件如何引用并传值给子组件,以及子组件如何通过props接收和通过$emit向父组件回传值的实例操作。

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

最近练手了一个项目,是这样的一个页面我拆分成了父组件(test.vue)和子组件(use_select.vue)

一、父组件怎么引用子组件:

首先在父组件的js内用import引入子组件(后缀名省略了):

import UserSelectDiv from "./user_select";

然后再data下面同级的部分写一个components对象:

components: {
    UserSelectDiv: UserSelectDiv
  }

也可以直接省略冒号和后边的 UserSelectDiv,

最后在页面要显示的部分以标签的形式写入:

 <UserSelectDiv></UserSelectDiv>

二:父组件怎么给子组件传值:

父组件给子组件传值用到了v-bind属性,将所有的数据绑定到子组件中:

 <UserSelectDiv :indexs="indexs"></UserSelectDiv>

上面的第二个indexs 是父组件data里面有的数据;

在子组件中怎么接收这个值呢?

子组件使用props接收这个值,书写方式为在data的同级上面写一个props数组:

props: ["indexs"],

 这样在子组件的template里面可以直接引入indexs

三:子组件怎么给父组件传值:

按照我的理解,既然是子组件给父组件传值,那么必然是子组件的数据发生了变化

子组件使用$emit给父组件传值,

比如:

 this.$emit("windowFlagclick", 'false');

上面的意思是子组件给父组件穿的值是false,以windowFlagclick为媒介;

那么,父组件怎么接收这个false呢?

上面的父组件中引入子组件的标签就需要变更一下,加上v-on事件然后这个事件为windowFlagclick:

 <UserSelectDiv :indexs="indexs"  @windowFlagclick="windowshow"></UserSelectDiv>

然后在父组件的methods函数中写入windowshow函数:

windowshow(data) {
      this.currentwindows = data;
    }

上面就是让父组件中的currentwindows 等于false了。

介绍完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值