要实现一个功能:
父组件在所有引入的子组件加载完毕之后,再执行某些方法,我开始网上搜到说在updated里执行方法,测试发现并不能很好的实现效果,然后我就想在每一个子组件里给一个变量,比如1吧,父组件接收到这个值再想加,是不是就能解决这个问题,我在mouted里面执行了这个方法,因为周期函数执行先后的问题,发现这个方法只执行了一次,我想用监听的方法去实现,不知道这个方法监听是怎么弄的,
子组件都写了:
this.$emit('chageNum', 1)
父组件接收:
<xxx @chageNum = "chageNum"></xxx>
方法
chageNum(val){
this.num += val
}
watch:
'num':(n,o){
if(this.num == 8){
8个组件加载完成的时候 调用方法
}
}
这是我目前的思路,但是不能实现效果,
这个chageNum方法不知道要在什么地方调用
麻烦大佬帮忙理解一下 感谢
vue2 好像有个
@hook:mounted
虽然不在文档中,但是网上可以搜到用法,直接在父组件监听子组件的生命周期。当然,你自己冒一个事件来计数也是可以的。子组件 mounted 或者其他的时候触发
$emit('chageNum')
,然后父组件根据触发次数计数。