上网查这个问题,解决方案很多,没有一款适合我。。。先说我的解决办法,如果解决不了再往下看,我的原因是 用的子组件的ref和子组件的标签名一样了:

<ChildComponent1ref="ChildComponent1":parent-data="data"><template #slot-content><div>插槽 content 内容000000000</div></template><template #slot-footer><div>插槽 footer 内容11111111</div></template></ChildComponent1>


给 ref 改个名字就好了。。。

使用技术:vue3+ts

用的props传值,本来都好好的,后来发现给一个子组件传值发生变化的时候,子组件展示有问题并且报警告:[Vue warn]: Component is missing template or render function

[Vue warn]: Component is missing template or render function

意思很明显,好像是我写了空白的缺少 template和script的组件,但问题是我组件内容是完整的啊:

<template><div class=""> 组件1 </div></template><script lang="ts" setup>import { ref, reactive, defineEmits, onBeforeMount, onMounted } from 'vue';const data: any = reactive({});</script><script lang="ts">export default {name: 'ChildComponent1',data() {return {};},};</script><style lang="less" scoped></style>

如果你的问题不是这个,可以看看网上常见的别的解决办法:

  1. 子组件是空白的
  2. 子组件引入的时候没有写.vue
import ChildComponent1from './ChildComponent1';// 改为import ChildComponent1from './ChildComponent1.vue';

希望本文对您有所帮助!