小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我在二级页面填写了个人信息保存,回到一级页面还是最初的页面信息。我是通过onShow()事件进行刷新页面信息的。但是会出现一个问题:每次进入一级页面会先出现旧的信息页面,等一秒才会执行onShow()事件的刷新,这个会觉得很不舒服。怎么实现信息实时的更新呢?
我希望,可以二级信息页面改变,回到一级信息页面,不出现旧的信息,而是直接出现新的信息页面。
希望得到解答,谢谢啦!!!
情人节快乐!
6 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
谢谢朋友:天下雪。我看了链接文章,的确给我提供了一个思路,只是还是有问题,没有解决。使用getCurrentPages()会涉及一个页面跳转的顺序问题。如果通过不同途径进入相同的页面,比如A跳到D页面,有两条途径:1.A->B->D;2.A->B->C->D.这样子就很难利用getCurrentPages()函数,实时更新数据了。
总之,非常感谢!
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
就是觉得onShow会有你说的卡顿现象,想要改进。。
在页面显示的时候加载就会更新了,
onload只会加载一次,所有最好是在onshow里面做更新视图的操作
首先,通过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:
() {
this
.setData({
area3:{
checked:app.globalData.area3.checked,
inputData:app.globalData.area3.inputData
}
});
//二级页面
trueArea:
var
time=e.timeStamp;
if
(!app.validEvent(e,500)){
return
;
_this=
app.globalData.area3=_this.data;
wx.navigateBack()
不是有onload吗?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
谢谢朋友:天下雪。我看了链接文章,的确给我提供了一个思路,只是还是有问题,没有解决。使用getCurrentPages()会涉及一个页面跳转的顺序问题。如果通过不同途径进入相同的页面,比如A跳到D页面,有两条途径:1.A->B->D;2.A->B->C->D.这样子就很难利用getCurrentPages()函数,实时更新数据了。
总之,非常感谢!
就是觉得onShow会有你说的卡顿现象,想要改进。。
在页面显示的时候加载就会更新了,
onload只会加载一次,所有最好是在onshow里面做更新视图的操作
首先,通过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()
},
不是有onload吗?