父组件怎样调用动态加载的子组件中的方法

我用v-for和if加载的子组件,需要从父组件调用子组件中的方法,
用ref获取不到用v-for动态加载的组件,怎么办?

我想到解决办法了,通过vuex来实现,在父组件中改变state中的变量,在子组件中监控这个变量,然后触发子组件中的method

如果项目未用到vuex的话改如何解决呢。通过bus来解决吗~~~

刚查了一下,bus应该是可以的,这是一个方法,多谢。我是刚开始用vue去写项目,边学边用

也许更好?

v-for的时候设置每一个子组件的ref呀,ref和item中的id或者什么字段关联就行了,这样不能取吗?

动态加载的组件获取不到的

我需要从父组件触发这个事件,自定义事件得从子组键主动触发吧

你说的动态加载是这样吗?如果是这样是可以去到refs的:


嗯是的,
获取组件的时候是没有报错,但是调用组件中的方法不行

可以的

是我错了!
确实是可以的,我调用子组件方法报错是因为用v-for加载的组件用ref获取的是一个数组,
但是如果不是遍历出来的组件用ref获取是就是那个对象。没有仔细看,
非常感谢,谢谢:fu: :clap:

1 Like

for循环的子组件不是 固定的,刷新之后会变,最好的话是for循环的父标签设置代理,之后监听这个父标签。之后在这个监听会调用里面去写