【每周一个小技巧】小程序如何获取页面栈内某个页面的实例

简介: 【每周一个小技巧】小程序如何获取页面栈内某个页面的实例

天分享个小技巧,用于获取小程序页面栈某个页面的实例,用于在当前页面修改之前页面的数据,不知道大家是否有类似的需求。

举个例子:我们需要在会员中心页,跳转到订单中心页面进行支付,支付成功返回当前页面更新,那么可以在订单中心页面直接更新会员中心页面的数据吗?答案是肯定的。

接下来直接放代码啦~

let routers = getCurrentPages() //获取小程序页面栈
routers.map((item) => {
  if (item.route === 'members/index/index') { // 需要在当前页面修改该页面的数据
    item.onLoad() // 可直接调用 ‘members/index/index’ 页面的onLoad生命周期。
    item.initData() // 可直接调用 ‘members/index/index’ 页面的方法
    item.setData({
      isShow: true // 可直接setData ‘members/index/index’ 页面的data数据
    })
  }
})

那不是有同学会说 返回onShow的时候再调用就好了嘛?当然回答是可以的,但是在某些场景下却不适用,使用上述方法可以做到返回时页面数据已经渲染完成了。


举个大家经常遇到的例子:列表页翻页,跳转详情页,在详情页操作后 需要隐藏掉列表页的内容,onShow请求接口刷新数据会导致内容滚动到顶部,而在详情页可以操作完成后setData自动滚动到该记录位置,当然也有其他方案可以实现,但是从目前实现后体验下来该方式是最简单的。

好了,以上就是本周分享的小技巧,欢迎大家留言评论讨论问题。

目录
相关文章
|
26天前
|
缓存 小程序 UED
微信小程序如何在切换页面后原页面状态不变
微信小程序如何在切换页面后原页面状态不变
24 0
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 自定义组件 - 组件所在页面的生命周期 & 插槽(三十七)
【微信小程序】-- 自定义组件 - 组件所在页面的生命周期 & 插槽(三十七)
|
2月前
|
存储 缓存 小程序
小程序页面路由传参的方法?
小程序页面路由传参的方法?
|
1月前
|
小程序
【微信小程序】-- 页面导航 -- 编程式导航(二十三)
【微信小程序】-- 页面导航 -- 编程式导航(二十三)
|
26天前
|
缓存 小程序 开发者
微信小程序如何刷新当前页面
微信小程序如何刷新当前页面
16 0
|
1月前
|
存储 JSON 小程序
【微信小程序】-- 页面处理总结(三十一)
【微信小程序】-- 页面处理总结(三十一)
|
1月前
|
JSON 小程序 API
【微信小程序】-- 案例 - 本地生活(列表页面)(三十)
【微信小程序】-- 案例 - 本地生活(列表页面)(三十)
|
1月前
|
小程序
【微信小程序】-- 页面事件 - 上拉触底 - 案例(二十七)
【微信小程序】-- 页面事件 - 上拉触底 - 案例(二十七)
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 页面事件 - 上拉触底(二十六)
【微信小程序】-- 页面事件 - 上拉触底(二十六)
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 页面事件 - 下拉刷新(二十五)
【微信小程序】-- 页面事件 - 下拉刷新(二十五)