小程序页面之间传递值

父页面向子页面传值

  • url传值

父页面:

wx.navigateTo({
  url: 'test?id=1'
})

子页面:

Page({
  onLoad: function(option){
    this.setData({
      id: option.id
    })
  }
})
  • 本地存储

父页面:

wx.setStorageSync('dataid', '123456')

子页面:

Page({
  onLoad: function(){
   let dataid = wx.getStorageSync('dataid')
  }
})
  • 全局的app对象

父页面:

let app = getApp();
app.username ='ddd';

子页面:

Page({
  onLoad: function(){
    let app = getApp();
    let username = app.username;
  }
})

子页面向父页面传值

  • 可以在父页面的onShow事件中采用本地存储和全局app对象来传值
Page({
  onShow: function(){
    let username = wx.getStorageSync('username')
  }
})
Page({
  onShow: function(){
    let app = getApp();
    let username = app.username;
  }
})
  • 也可以在子页面获取父页面的page实例,再赋值
var pages = getCurrentPages();
var curPage = pages[pages.length-1];   //当前页面
var prePage = pages[pages.length-2];   //上一个页面
//直接调用上一个页面的 setData() 方法,把数据存到上一个页面中去
prePage.setData({
   username: 'hello'
})

猜你喜欢

转载自blog.csdn.net/watson2017/article/details/118085446