宜搭父组件调用子组件方法时一直报错undefined
在宜搭开发时遇到个问题,父组件想通过ref调用子组件的方法,但一直提示方法不存在。比如我在子组件定义了一个updateData方法,父组件用this.$refs.child.updateData()调用就报错:
<template>
<child-component ref="child"></child-component>
</template>
<script>
export default {
methods: {
triggerUpdate() {
this.$refs.child.updateData(); // 报错:Cannot read property 'updateData' of undefined
}
}
}
</script>
子组件确实有这个方法,也设置了暴露方法,但控制台显示this.$refs.child是undefined。试过用nextTick包裹还是不行,是不是宜搭的组件引用方式和普通Vue不同?
this.$refs.child.getExposed()来获取子组件暴露的方法。改一下调用方式:就这样。