在当前页面弹出新页面时,后台进行this.setData()并不会在当前页面执行
发布于 5 年前 作者 yongjin 5192 次浏览 来自 问答

业务需求需要在某个页面(后面称为当前页面)执行前进行判断用户是否登陆,未登陆则跳转到自定义的登陆页面(后面称为新页面);同时当前页面会执行一些操作,比如设置当前页面的属性,例如:

this.setData({a:1}),(同时a属性在data中初始化为0),此时当用户执行了新页面的登陆操作,再

wx.navigateBack({}),这个时候在js中打印a是等于1的,但是在wxml中{{a}}是等于0的。

1 回复

感觉你是想页面A跳页面B,然后页面B有操作后给页面A,setData。。。

如果是我理解的这种的话…

var pages = getCurrentPages(); //获取页面栈

var prevPage = pages[pages.length - 2] ; //上一个页面(如果是上多个页面就对应减响应栈数)

prevPage.setData({

            ‘key’: val

});

.//塞值

然后在页面A里像平常那样获取就成了

回到顶部