wx.switchTab跳转页面后重新执行onLoad()函数失败
发布于 6 年前 作者 leifan 8289 次浏览 来自 问答

在备注页面(1页面)执行wx.switchTab其中跳转回前一个页面(2页面)后执行2页面的onLoad(),跳转代码如下:

wx.switchTab({

            url: ‘…/plan/plan’,

            success: function () {

                var page = getCurrentPages().pop();

                if (page == undefined || page == null) return;

                page.onLoad();

            }

        });

在不同手机上结果不同,有的手机会执行2页面的onLoad函数,有的手机会执行1页面的onLoad函数,导致出错,请问一下大家有遇到这样的问题吗?还有同一台手机如果是真机测试和体验版也会有上面的情况出现

2 回复

switctTab清空tab之外的页面栈

onload在switchtab的回调里执行

出现这情况,只能说明清空页面栈是个异步行为

导致getCuirrentPages的时候,结果不可预期

换个思路解决吧

譬如,switchtab的时候给url带参,tab页onshow回调里面捕获到此参数,重执行一遍onload函数中的代码

谢谢,但是switchtab后面不可以带参数

回到顶部