在父页面引用了一个组件,然后父级调用子组件方法,但是根本没进去,也不报错
父级页面挂载组件
<!-- 视频插件组件 -->
<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,
});
就可以了,里面放要暴露出去的方法