H5页面跳转小程序获取参数及小程序页面跳转传参

617 阅读1分钟
onShow()不接受参数,但是可以通过小程序页面栈获取optins参数

1.获取当前小程序的页面栈—数组 长度最大是10个页面。

2.数组中索引最大的页面就是当前页面,其中可以获取到 options 属性。 
  
     例如:/pages/nav/nav?id=1&wxAppOpenId=xxxxxx
 
    onShow() {
		const pages = getCurrentPages() //获取加载的页面
		const currentPage = pages[pages.length - 1] //获取当前页面的对象
		const options = currentPage.options   // {id:1,wxAppOpenId:xxx}
		this.getUrl(options);  
	},
        
  1. 字符串传参
      wx.navigateTo({
          url: '/pages/nav/nav?id= '+this.id,
      })
  
     onLoad(options) {
        console.log("ss=>"+options.id); 
        this.setData({
             id :options.id
        })
    },
 
 2. 对象传参
 let query = JSON.stringify(this.obj)
 
  wx.navigateTo({
    url: '/my/authorization/authorization?query='+query,
  })
  
 
onLoad: function (options) {
        var query = JSON.parse(options.query)
        this.setData({
            item: query
        })
    },
    
3. 数组(集合)传参
   let query = JSON.stringify(res.devicesList)
                
     wx.navigateTo({
        url: '/home/shareDevice/shareDevice?query='+encodeURIComponent(query), 
    })
    
    onLoad: function (options) {
         let listData = JSON.parse(decodeURIComponent(options.query))
               this.setData({
                   list: listData
               })
    },