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

一.页面跳转

--跳转到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 可以返回到原页面。

 

 

 

你可能感兴趣的:(小程序)