整体思路
在全局 App.vue 中定义一个定时刷新消息的方法,然后通过uni.$on()监听对应点击的 tabBar页面 所传参数,进行判断执行对应的操作。当你在 tabBar页面 时,会通过uni.$emit()传参(获取并刷新最新消息),当你切换到 非tabBar页面 时,onHide 取消监听(停止获取消息)。
说明:为什么不全局app控制底部tab消息数量的刷新显示呢?
因为当前页面非tab时,可是会报错的哦!也就是下面的报错(下面图是借用的,懒的改代码截图报错了,体谅一下)
错误原因:
因为当你使用uni.setTabBarBadge设置角标或者红点时,必须在tabBer页面设置,当你跳转到非tabBer页面时就会出现报错。
你可能会说:那怎么办呢?
我:耐心的看下去哦,为了你那不报错的代码。