在父页面引用了一个组件,然后父级调用子组件方法,但是根本没进去,也不报错
父级页面挂载组件
- <div>
- <VideoPluginView ref="video_perview_ref">VideoPluginView>
- div>
父级setup中引入组件
import VideoPluginView from '@/components/common/VideoPlugin.vue'
父级方法调用子组件方法,这里的openChannelsPerviewPage在其他函数里被调用了
- // 视频预览挂载
- const video_perview_ref = ref(null)
- // 打开视频预览界面
- const openChannelsPerviewPage = (cs_id = 1) => {
- console.log('获取视频', cs_id)
- video_perview_ref.value.openPage(cs_id)
- }
但是输出只走到获取视频,根本没进入到子组件中
子组件中的一个被父级调用的函数
- const openPage = (cs_id) => {
- console.log("视频插件传入的", cs_id);
- };
问题出在子组件中没有用defineExpose把函数暴露出去
在子组件中加上
- defineExpose({
- openPage,
- });
就可以了,里面放要暴露出去的方法