小程序踩坑-----记录

一.页面跳转

--跳转到tab页面--直接跳转并不会刷新页面,必须添加跳转成功事件获取页面栈中指定页面(page[0]指tab首页)

getCurrentPages().pop() //在安卓手机上不能准确获取跳转后的页面,ios上正常

wx.switchTab({ url: '../../pages/index/index', success: function (e) { var page = getCurrentPages(); if (page == undefined || page == null) return; page[0].onLoad(); } });

二.元素自动排到页面底部 父元素设置高度后;内部子元素总高度得大于等于父元素的高度,否则子元素会自动排到页面底部。
三.背景图片上传到云服务 wxss 中的本地资源图片无法通过 WXSS 获取,可以使用网络图片,或者 base64,或者使用标签
四.变量更改后页面数据没有实时更新-wepy
变量更改后记得执行this.$apply();

五.switchTab方法,success获取page在苹果与安卓机上不一样(坑一的又一问题) 实现功能:登录功能实现-在未登录的状态下,首页与账户中心都可跳转登录页面,登陆成功后跳转首页,执行首页onLoad方法。
【小程序踩坑-----记录】问题:安卓机跳转首页后偶尔不执行首页onLoad方法。
排查原因:跳转成功后调用getCurrentPages()获取页面栈--安卓与IOS预期应该都是得到上一页面和当前页面;但是安卓偶尔只能得到上一页面而没有当前页面
解决:定义全局变量,保存跳转登录页面的路由,登录成功后根据全局变量跳转tab页面;onShow方法里面判断该变量决定是否执行onLoad事件
六.小程序navigateTo页面栈限制最多十层
同一页面存在多个wx.navigateTo跳转同一页面需封装到方法,不然会报超出最大页面栈的错误,无法跳转

使用 wx.navigateBack 可以返回到原页面。




    推荐阅读