为了账号安全,请及时绑定邮箱和手机立即绑定

动态组件添加ref的问题

动态组件添加ref的问题

holdtom 2018-12-20 18:14:28
需求:有一组动态组件,为其添加ref。希望通过$refs标记引用组件中的变量和方法。在子组件中,有:<div v-for=(item, index in items) ref="myref">    ...</div>在其它组件中,我可以通过this.$refs.myref[i]...的代码引用组件中的变量和方法。但是,如果动态增减items数组的元素,则不能通过这种方法调用。Vue的文档中也明确说明了,$refs是非反应式的,不会变化。新增的ref也的确不起作用。问题:遇到这种情况,我如果想在上层组件中调用子组件中的method,还有其他方法吗?(我想尝试使用事件总线注册子组件方法,但想不出具体的做法。)不知道大家有没有什么好的办法,谢谢!
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

子组件 :


props: {

            fatherData:{

                type:Array

            }

        },

watch:{

    fatherData(){

            doSomething();

            this.$emit("sonDo",data);

        }

    }

父组件:


@sonDo="sonDo"


methods:{

    sonDo: function (sonData) {

                

            },

}


查看完整回答
反对 回复 2019-01-03
  • 1 回答
  • 0 关注
  • 2682 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信