自从微信小程序 showTabBarRedDot / setTabBarBadge 这两个API被推出以来,就受到广大开发者的喜欢和吐槽。
喜欢是因为这两个API需求很旺盛,吐槽是因为这两个API在非tab页调用是无效的。
究其根本原因:在 tabbar 不存在的时候,是无法对其进行操作的。
如果手机或电脑比较垃圾的情况下,可以看到从tab页跳转到非tab页的时候,tabbar会先消失,然后新页面进入。
也就是说,一旦进入非tab页面,tabbar就不存在了。
showTabBarRedDot / setTabBarBadge 在非tab页调用无效这个问题,已经在微信官方挂了很久了,至今也没解决。
我猜想,从tab页面进入非tab页面隐藏tabbar,是有重要原因的。比如,如果不隐藏tabbar,页面栈会乱掉……
现在关键是如何解决这个问题。
也没什么好办法,无非就是在tabbar不显示的时候,只记录红点变化的数据,待tabbar显示的时候,再根据记录的数据,决定是否显示红点。
最简单的实践方法,可以设置一个全局变量,记录红点,在tab页显示的时候,根据全局变量决定是否显示红点。
这个方法,让人不太舒服的地方,就是需要在每个tab页都要进行同样的操作……
代码示例:
function setNoticeRedDot() {
if (getApp().globalData.noticeRedDot) {
uni.showTabBarRedDot({
index: 3
})
} else {
uni.hideTabBarRedDot({
index: 3
})
}
}
根据需要,随时改变 getApp().globalData.noticeRedDot 的数值,在tab页显示的时候调用上面的方法。
-
WordPress付费下载/积分下载/看广告下载小程序源码关注到不少基于WordPress搭建的站点在做资源下载类网站,不限于积分下载,付费下载,看广告下载或阅读,流量变现相对比较直接,若想做类似资源下载小程序,不妨看看追格的知识库模块,简单配置就是一个资源下载小程序。
-
小程序多视频同时播放的问题只允许一个视频在播放,其他自动暂停
-
支付宝小程序调用alipay.user.info.share报错ISV权限不足支付宝小程序调用alipay.user.info.share报错ISV权限不足。alipay.user.info.share 是 获取会员信息中使用的 API。
-
Donut 多端框架Donut多端框架是支持使用小程序原生语法开发移动应用的框架,开发者可以一次编码,分别编译为小程序和 Android 以及 iOS 应用,实现多端开发;能帮助企业有效降低多端应开发的技术门槛和研发成本,以及提升开发效率和开发体验。
-
追格企业官网小程序Free 白屏 xxx.js .js 已被代码依赖分析忽略,无法被其他模块引用微信小程序开发工具的锅……
-
追格小程序V1.6.1发布代码高亮功能不少小伙伴反馈,希望追格小程序能发布代码高亮功能,满足需求。
暂无评论,抢个沙发...