1、官方解释如下,主要就是获取的时候,组件没有渲染,所以获取不到
2、解决方案
官方解释,在open事件回调中进行,但是open()是弹窗打开时候的会调,有可能在此处获取的时候,还没有渲染成功,导致依然获取不了。
1、可以通过定时器延时获取
<el-dialog @opened="openWebRtc()" >
<!--子组件 -->
<web-rtc ref="webrtc" v-show="showWebRtcVideo" :videoUrl="WebRtcVideoUrl"></web-rtc>
</el-dialog>
openWebRtc(){
setTimeout(() => {
this.$refs.webrtc.start();
}, 0);
},
2、通过opend会调获取
<el-dialog @opened="openWebRtc()" >
<!--子组件 -->
<web-rtc ref="webrtc" v-show="showWebRtcVideo" :videoUrl="WebRtcVideoUrl"></web-rtc>
</el-dialog>
openWebRtc(){
this.$refs.webrtc.start();
},