如何在uni-app中获取页面栈中的实例达到获取数据的目的?
如何在uni-app中获取页面栈中的实例达到获取数据的目的?这里使用的是uni-app的apigetCurrentPages()获取到页面栈的实例:官网上有写到:getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。注意: getCurrentPages()仅用于展示页面栈的情况,请勿修改页面栈,以免造成页面状态错误。
·
如何在uni-app中获取页面栈中的实例达到获取数据的目的?
这里使用的是uni-app的api getCurrentPages()获取到页面栈的实例:官网上有写到:
getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
注意: getCurrentPages()仅用于展示页面栈的情况,请勿修改页面栈,以免造成页面状态错误。
使用场景:可以解决需要跨多个页面传递后台需要的参数,比如页面发生三级或者以上的跳转,然而需要的参数在第一个页面 要传递到第三个页面或者三个以上页面的时候,除了vueX 本地存储,这也是个比较简便的方法,在哪个页面需要数据 就在哪个页面发请求之前使用。
pay(){
var self = this;
if (this.isReClick) {
this.isReClick = false;
setTimeout(() => {
this.isReClick = true;
}, 5000);
let pages = getCurrentPages()
let page = pages[pages.length-2]
let obj = page.data.warebeanInfo
console.log(page,obj)
this.$http.ordercommit({
orderno: self.orderno,
paymethod: self.paymethod,
buy_inverse_points:obj.buy_inverse_points,//用户下单返的积分
pid_points:obj.pid_points,//用户下单返的积分
pid_points2:obj.pid_points2 //用户下单返的积分
},
res => {
// console.log("支付",res.data.data)
if (self.paymethod == 8) {
var orderid = res.data.data.orderid;
uni.requestPayment({
//……以下省略……
这里是
let pages = getCurrentPages()
let page = pages[pages.length-2]
let obj = page.data.warebeanInfo
使用三个字面量接收页面栈里面的数据,然后要传参数的地方直接传就ok了。类似于从本地存储拿到的数据,只是省略了存的步骤。
buy_inverse_points:obj.buy_inverse_points,//用户下单返的积分
pid_points:obj.pid_points,//用户下单返的积分
pid_points2:obj.pid_points2 //用户下单返的积分
更多推荐
已为社区贡献2条内容
所有评论(0)