使用场景,今天师傅问我 为啥总用props传参,调用子方法不方便啊
我回答:不会啊,直接上代码
以及会出现的问题
像出现了这种问题(里面的方法是你自己定义的)
原因就是你组件还没加载完(组件的生命周期是先加载完子元素在加载父元素),父元素就使用了方法
这时候需要this.
n
e
x
t
C
l
i
c
k
(
(
)
=
>
)
方法完美解决没错误了,子传父的时候需要
nextClick(()=>{})方法 完美解决 没错误了, 子传父的时候需要
nextClick(()=>)方法完美解决没错误了,子传父的时候需要emit方法
父组件
//在父组件引入的子组件上 加上ref
import Son from '@/component/son'
components:{ Son }
<Son ref='childClick' @openfuclick='xindefangf'></Son>
<button @click='openClkmeth'></button>
methods:{
xindefangf(value1,value2,value3){
//子组件给父组件传的参数
console.log(value1,value2,value3)
},
openClkmeth(){
this.$nextClick(()=>{
this.$refs.childClick.sonclick()
})
}
}
子组件
//我是子组件
<div @click='openfuclick'>
</div>
methods:{
sonclick(){
console.log('我被父组件调用了')
},
openfuclick(){
this.$emit('value',参数1,参数2,参数3)
}
}