我在二级页面填写了个人信息保存,回到一级页面还是最初的页面信息。我是通过onShow()事件进行刷新页面信息的。但是会出现一个问题:每次进入一级页面会先出现旧的信息页面,等一秒才会执行onShow()事件的刷新,这个会觉得很不舒服。怎么实现信息实时的更新呢?
我希望,可以二级信息页面改变,回到一级信息页面,不出现旧的信息,而是直接出现新的信息页面。
希望得到解答,谢谢啦!!!
情人节快乐!
谢谢朋友:天下雪。我看了链接文章,的确给我提供了一个思路,只是还是有问题,没有解决。使用getCurrentPages()会涉及一个页面跳转的顺序问题。如果通过不同途径进入相同的页面,比如A跳到D页面,有两条途径:1.A->B->D;2.A->B->C->D.这样子就很难利用getCurrentPages()函数,实时更新数据了。
总之,非常感谢!
首先,通过wx.navigateTo打开第二个页面,在二级页面填写个人信息保存填写的信息到公共变量(可以在app.js里面定义一个)里面,再通过wx.navigateBack,回到一级页面,在onShow时间里面执行setData即可更新,刷新的时间与要更新的data数据大小有关,我这边测试过,在onShow时间里面执行setData,我的data数据有160KB的样式,会有1-2秒的卡顿。
//一级页面
chooseArea: function (e){ wx.navigateTo({ url: "/pages/common/area/index" }) }, onShow: function () { this .setData({ area3:{ checked:app.globalData.area3.checked, inputData:app.globalData.area3.inputData } }); }, |
//二级页面
trueArea: function (e){ var time=e.timeStamp; if (!app.validEvent(e,500)){ return ; } var _this= this ; app.globalData.area3=_this.data; wx.navigateBack() }, |