使用 leftwindow 时,引用组件会导致报错 uni is not defined uni-app
使用 leftwindow 时,引用组件会导致报错 uni is not defined uni-app
示例代码:
见附件
操作步骤:
<template>
<view>
<comicDetail ref="comicPage"></comicDetail>
</view>
</template>
<script>
import comicDetail from '../pages/comic/comic.vue';
export default {
components:{
comicDetail
},
data() {
return {
title: 'Hello'
}
},
created(e) {
//打开漫画详情
uni.$on('updateComicDetail', (e) => {
// 执行 /pages/news/detail.nvue页面的load方法
this.$refs.comicPage.load(e.detail);
})
}
}
</script>
<style>
</style>
预期结果:
正常运行
实际结果:
白屏

bug描述:
使用leftwindow时候,leftwindow.vue中,先引用内容页面,在内容页面引用uni_modules中的组件
会导致白屏,报错uni is not defined
更多关于使用 leftwindow 时,引用组件会导致报错 uni is not defined uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html
bug处理完了吗? 有需求把项目变成pc端
更多关于使用 leftwindow 时,引用组件会导致报错 uni is not defined uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html
同问
同问
+1
去年的就确认的bug,现在还没修复,真牛逼
2023年底了居然还没修好,真是无语极了,又不是什么很难的bug,你好歹给个自己手动引用uni的方式也行
确认bug, 处理中
啥时候能处理完呢,现在最新版还是有这个问题,leftwindow不能用
啥时候能处理完呢,使用uView2.0,leftwindow不能用
都20203年中旬了, 还没改好吗
回复 7***@qq.com: 24年了,还是没处理好
25年了也没修复好
大概哪个版本能解决呢?
uview 插件的组件同样报这个错误
同用uview,最新版仍然有这个问题
看这样子 估计没多少人用这个开发pc端页面
+1+1+1
问题还没解决吗
同遇到这个问题,请及时修复,或者告知一下怎么规避这个问题?
打卡, 3.7.12.20230331-alpha 仍未修复
天哪,这效率太慢了吧,都多久没还修复!rightWindow, leftWindow, topWindow都有这个问题
啥时候修复啊?,在rightWindow, leftWindow, topWindow中无法使用uview组件,他们用到了uni
同上,求解决办法
uview组件的import props from ‘./props.js’; 里面的uni.$u.props.badge.value,影响的么?要怎么解决?
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 4.15
浏览器平台: Chrome
浏览器版本: 96.0.4664.110(正式版本)
项目创建方式: HBuilderX
找到原因了。leftwindow和topwindow 不能用uview组件,你看看是不是用了。
2025年了,还没有修复好
2026年了还没修复
在 leftwindow 中使用 uni_modules 组件时出现 “uni is not defined” 错误,是因为 leftwindow 的加载时机问题。leftwindow 在应用启动时较早初始化,此时 uni 对象可能还未完全挂载到全局。
解决方案:
- 延迟组件加载:将 uni_modules 组件的引用放在条件渲染中
<template>
<view>
<comicDetail v-if="mounted" ref="comicPage"></comicDetail>
</view>
</template>
<script>
export default {
data() {
return {
mounted: false
}
},
mounted() {
this.mounted = true;
}
}
</script>
- 使用动态导入:异步加载组件
export default {
components: {
comicDetail: () => import('../pages/comic/comic.vue')
}
}


