You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3页面中两个小游戏组件仅显示一个的问题求助

排查两个Vue3组件仅显示一个的问题

以下是几个最可能的原因和解决办法:

  • 样式重叠覆盖
    因为是复制的组件,大概率两个组件用了相同的固定/绝对定位样式,或者重复的容器ID,导致两个组件叠在一起。检查两个组件的样式文件,给NamesByPictures设置独立的位置(比如不同的top值),或者修改重复的类名、ID。也可以直接给父容器加布局样式强制分开:

    <div class="custom-container-fixed" style="display: flex; flex-direction: column; gap: 30px; padding: 20px;">
      <Memory key="2"></Memory>
      <NamesByPictures key="1"></NamesByPictures>
    </div>
    
  • 组件未正确注册
    确认NamesByPictures在当前页面的script里是否正确导入并注册:

    <script setup>
    import Memory from './components/Memory.vue'
    import NamesByPictures from './components/NamesByPictures.vue'
    </script>
    

    全局注册的话要检查组件名拼写是否和模板里一致。

  • 内部条件渲染冲突
    检查两个组件内部的v-if/v-show逻辑,复制组件时可能把原组件的状态变量也复制了,导致两个组件共用同一个状态,其中一个被隐藏。比如原组件里有isVisible变量,新组件要改成独立的变量名。

  • 全局状态/事件冲突
    如果用了Pinia/Vuex全局状态,或者绑定了相同的全局事件,两个组件的状态可能互相覆盖。比如两个组件都修改了同一个全局变量,导致其中一个组件的渲染异常。

内容的提问来源于stack exchange,提问作者M.Koops

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 19:02:25