vue 父子组件传值之(父组件如何触发子组件中的方法,子组件调用父组件中的方法)

<button @click="clickParent">点击</button>
<child ref="mychild"></child>

**注意:**


  1、在子组件中:<div></div>是必须要存在的 


  2、在父组件中:首先要引入子组件 import Child from './child';


  3、 <child ref="mychild"></child>是在父组件中为子组件添加一个占位,ref="mychild"是子组件在父组件中的名字


  4、父组件中 components: {  是声明子组件在父组件中的名字


       5、*在父组件的方法中调用子组件的方法,很重要*   this.$refs.mychild.parentHandleclick("嘿嘿嘿");



#### 3.父传给子的方法


前言:


使用vue进行项目开发的时候,免不了组件之间的通信。父组件传递给子组件的值,子组件可以通过props获取。子组件想要改变数据,只能通过触发事件告诉父组件,我要变身了!父组件接收到信号,从而达到改变的目的。


**1、父组件传值给子组件**


**父组件:**




**子组件:**



这是子组件 //父亲传过来的值 {{ parentToChild}} //儿子收到后赋值的变量 {{ valueFromParent}}


 可以看出,父组件要传递给子组件的值为value1,key为parentToChild,在子组件接收时,用props接收。此时,如果打印this.valueFromParent,打印结果会是:父组件的值传给子组件


#### 4.子传给父的方法


 vue是禁止子组件直接向父组件传值的,所以只能通过触发事件来达到目的。


## **方法一、**


**子组件:**



这是子组件


**父组件:**



这是父组件


从中可以看出,子组件通过**sendValueToParent**事件方法,向父组件传递了4个值,在父组件的子组件标签里面要写上sendValueToParent这个事件。父组件拿到这四个值是通过**getValueFromChild**方法。


## **方法二、**


### 常用的方法总结下


* $emit
* $parent
* prop
* vuex(vuex代码比较麻烦,不写了,说下步骤吧 dispatch:actions=>commit:mutations)


#### $parent方法


**父组件**




**子组件**




#### $emit方法




### 最后

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!



![](https://img-blog.csdnimg.cn/img_convert/bbe3448beec49dde35916dccaedb72d0.webp?x-oss-process=image/format,png)

![](https://img-blog.csdnimg.cn/img_convert/ce6ab900204fb105bd27ca5c50ac1d64.webp?x-oss-process=image/format,png)

tn() {
        this.$parent.fatherMethod()
      }
    }
  }
</script>

$emit方法

最后

由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!

[外链图片转存中…(img-lHdj7LSD-1720103913074)]

[外链图片转存中…(img-6BIrFrp0-1720103913076)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值