父组件中,首先给子组件绑定ref="child"
点击父组件的view标签,触发openPopup
,在该方法中,通过调用this.$refs.child.Popup();
将事件传递给子组件的Popup
事件,实现父组件触发子组件的方法。
- 父组件
<view class="panel-list-item" @click="openPopup">
<text>联系客服</text>
<uni-icons type="arrowright" size="15"></uni-icons>
</view>
<my-qrcode ref="child"></my-qrcode>
openPopup(){
// this.$refs.popup.open('top')
this.$refs.child.Popup();
},
- 子组件
<template>
<view class="qr-container">
<uni-popup ref="popup" type="center">
<view class="pop-box">
<view class="pop-box-inner">
<p>扫码关注</p>
<image :src="qrSrc" mode='widthFix'/>
</view>
</view>
</uni-popup>
</view>
</template>
Popup(){
console.log("父组件触发了子组件的方法!")
this.$refs.popup.open('top')
},