微信小程序公共js里面 修改page 页面data的数据 getCurrentPages

最近维护小程序遇到的问题,有n 个页面需要加一个验证的方法,从而改变页面里面的data 的多条数据,然后在进行后续的业务逻辑。

这种问题肯定就是在公共的js 里面写一个方法,然后在每个页面调用一下。但是问题是如何在公共的js 里面修改page 里面 xxx.js data 的数据。

同样引申 修改历史页面的数据 的问题。

经过查阅发现,微信小程序提供了一个方法:

getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。 注意:不要尝试修改页面栈,会导致路由以及页面状态错误。
不要在 App.onLaunch 的时候调用 getCurrentPages(),此时page 还没有生成。

pages 为一个数组,根据下面的代码以此类推

let pages = getCurrentPages(); // 当前页面栈
let currentPagePage = pages[pages.length - 1];  // 当前页面
let prevPage = pages[pages.length - 2];//上一页面

let _data = currentPagePage.__data__;  //页面的数据


// 直接设置页面的值
currentPagePage.setData({ 
    a:1,
    b:2
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值