微信小程序向上级页面传递数据的三种方式

1 58
dongdong
dongdong 10月17日 14:48
1 getCurrentPages

获取当前页面路由栈的信息 例:当从A页面跳转到B页面 ,然后B页面修改A页面foo 对应的值
B 页面

let pages = getCurrentPages();   
    let prevPage = pages[pages.length - 2];     //-2为上一级页面  
    prevPage.setData({
      foo: '2'           //foo为A页面中的数据
    })
    wx.navigateBack({
      delta: 1          // delta: 1返回上一级(A 页面)    delta: 2返回上两级
    })

A 页面 此处注意要在onshow 函数中调用

data:{
    foo: '1'      //初始化的值
}

onShow () {         
    console.log(this.data.foo)     //输出  2
}
2 利用全局变量

app.js

App({

data:{
    foo: 1
  }

})

A 页面

 let app = getApp();
 app.data.foo = 2;

B 页面

let app = getApp();
console.log(app.data.foo)     //输出 2
3 localstorage
A页面  
wx.setStorageSync('foo', '1');

B页面 
let foo= wx.getStorageSync('foo')
console.log(foo)      //输出 1

更多资源
标记失效
0
回帖