出问题的代码如下:
界面中引入了子组件
在js里通过 this.$refs.questionInfo.getList();调用子组件方法,界面报错 this.$refs.questionInfo is undefined。
问题出现原因:错误可能是因为尝试访问子组件的$refs
时,子组件尚未完全挂载。Vue在编译和渲染过程中是异步执行的,因此在访问$refs
之前,需要等到子组件完全挂载。
解决:在调用子组件方法外层添加this.$nextTick(()=>{})方法即可。
this.$nextTick(() => {
this.$refs.questionInfo.getList();
});