uni-app 里小程序端 onShow 不触发是怎么回事? 书生シ鑫鑫 提问于 2026-03-31 11:56:13 阅读 4 移动 我在 uni-app 项目里写了个页面,想在每次切回来的时候刷新数据,就用了 onShow 生命周期。但在微信小程序真机上测试时发现 onShow 根本没执行,H5 端倒是正常的,这是为啥? 我试过把逻辑挪到 onReady 里,但那样只执行一次,不符合需求。代码大概是这样: export default { onShow() { console.log('页面显示') this.fetchData() }, methods: { fetchData() { // 模拟请求 } } } 我来解答 赞 1 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 Newb.彦鸽 Lv1 uni-app 里小程序端的 onShow 不触发,这种情况我遇到过。前端这块有时候就是这么奇怪。 首先检查一下你的页面配置文件是不是有啥问题,特别是 pages.json 里关于这个页面的配置。确保没有设置成单页模式之类的。 然后看看你在微信开发者工具里有没有报错,真机调试时记得打开调试模式,有时候真机会有一些奇奇怪怪的问题。 如果这些都没问题,试试把代码改成这样: export default { onLoad() { // 这里加个初始化 }, onShow() { console.log('页面显示') this.fetchData() }, onHide() { // 加个 onHide 看看回调是否正常 console.log('页面隐藏了') }, methods: { fetchData() { console.log('正在获取数据') // 模拟请求 } } } 有时候页面栈的问题也会导致 onShow 不触发,试着在父页面里也加个生命周期钩子观察一下。别急,慢慢调,前端问题就是这样,多试几次肯定能解决。 回复 点赞 2026-03-31 12:08 加载更多 相关推荐 1 回答 39 浏览 uni-app小程序端如何监听页面返回事件? 我在uni-app里开发微信小程序,想在页面被返回(比如点击左上角返回按钮)时做一些清理操作,但不知道怎么监听这个事件。 试过 onUnload 生命周期,但它在页面关闭时才触发,而我想在用户点击返回... Dev · 硕泽 移动 2026-03-13 22:27:21 2 回答 34 浏览 uni-app上传图片到云存储总是失败怎么办? 我在用uni-app开发一个小程序,想把用户选择的图片上传到uniCloud的云存储,但每次调用uniCloud.uploadFile都报错“file not found”。我明明已经用uni.cho... UP主~金利 移动 2026-03-02 11:37:22 2 回答 97 浏览 uni-app小程序端如何在页面滚动时动态改变导航栏背景色? 我在开发uni-app小程序时遇到个问题,想在页面滚动时根据位置动态改变导航栏背景色。之前用scroll-view的scroll事件测过,但事件根本不触发。后来试了原生APIuni.setNaviga... 艳玲🍀 移动 2026-02-15 06:55:31 2 回答 97 浏览 uni-app中如何解决不同端的样式差异?按钮在H5和小程序显示完全不一样 我在用uni-app开发时发现,同一个按钮组件在H5和微信小程序上的圆角显示完全不一样。尝试用条件编译写不同样式,但不管怎么改都无效,控制台也没报错: 点击我 .button { @if(__PLAT... Air-尚斌 移动 2026-01-27 18:10:29 1 回答 19 浏览 uni-app 中 Vue3 的 setup 语法糖不生效怎么办? 我用 HBuilderX 创建了一个 uni-app 项目,选了 Vue3 + Composition API,但在页面里写 语法糖完全没反应,变量都拿不到。 官方文档说支持 Vue3.2+,但我试了... 设计师冠英 移动 2026-03-22 14:07:21 2 回答 36 浏览 uni-app 条件编译在 H5 和 App 平台不生效是怎么回事? 我在 uni-app 里用条件编译区分 H5 和 App 平台,但加了 #ifdef H5 的代码在 H5 端没显示,App 端反而跑进去了,是不是写法有问题? 我试过这样写: <view>... 上官桂霞 移动 2026-03-15 19:38:21 1 回答 38 浏览 uni-app 和 Taro 在 Vue 项目里到底该怎么选? 最近公司要搞一个跨端项目,团队用的是 Vue 技术栈。我看 uni-app 和 Taro 都支持 Vue,但文档说法不太一样,有点懵。比如我写了个简单的页面,在 H5 上没问题,但打包成小程序后样式就... 程序员文鑫 框架 2026-03-12 20:44:23 2 回答 42 浏览 uni-app 中如何正确适配不同平台的导航栏高度? 我在用 uni-app 开发一个多端应用,发现 H5、微信小程序和 App 端的导航栏高度不一致,导致页面内容被遮挡或者留白太多。我试过用 uni.getSystemInfoSync() 获取状态栏高... 春萍 Dev 移动 2026-03-12 15:24:25 2 回答 40 浏览 uni-app 中用 TypeScript 写页面,props 类型怎么定义才不报错? 我在 uni-app 里用 TypeScript 写组件,想给 props 加类型,但总是提示类型不匹配或者 undefined。明明按照文档写了,但还是不行,是不是写法有问题? 比如下面这段代码,我... A. 毓珂 移动 2026-02-26 13:44:18 2 回答 26 浏览 uni-app中pages.json设置页面标题不生效怎么办? 在uni-app项目里配置了pages.json里的navigationBarTitleText属性,但页面标题还是显示默认名称,这是为啥啊? 比如在pages.json里写了这样:{ "pages"... 正利 Dev 移动 2026-02-19 13:29:22
首先检查一下你的页面配置文件是不是有啥问题,特别是
pages.json里关于这个页面的配置。确保没有设置成单页模式之类的。然后看看你在微信开发者工具里有没有报错,真机调试时记得打开调试模式,有时候真机会有一些奇奇怪怪的问题。
如果这些都没问题,试试把代码改成这样:
有时候页面栈的问题也会导致 onShow 不触发,试着在父页面里也加个生命周期钩子观察一下。别急,慢慢调,前端问题就是这样,多试几次肯定能解决。