page()
的详细生命周期,可以查看文档,今天主要说下其onTabItemTap()
方法,很少用到,但我们在开发中为了解决一些问题(在此方法中触发登录界面),试用下此方法:
方法说明
Triggered when the user taps the tab if the current page is a tab page(当点击tab界面时触发)
测试代码:
/** tab点击 */
onTabItemTap(item) {
console.log(item)
wx.showToast({
title: 'tab点击',
})
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function() {
self = this;
app.NetUtil.CheckLoginStatus(null, function(loginStatus) {});
···
分别在模拟器、iOS系统、Android系统分别测试,结果如下:
小程序模拟器:三个tab切换时,不会触发
onTabItemTap()
方法,如果已经在“个人中心”界面,再次点击tab,会触发该方法,而且点击几次,触发几次,有bug。iOS版微信的小程序:切换正常触发,多次点击可以根据自己的需要做相应处理。
Android版微信(OPPO)的小程序:切换正常触发,多次点击可以根据自己的需要做相应处理。
在开放社区中,有很多人反馈该方法失效问题,比如:https://developers.weixin.qq.com/community/develop/doc/0000826a91c3803ed8377734a56800,官方做了回复,确实有问题,所以有些问题不用太深究,该功能还不是很完善。