此时,我们已经将需要传递的值存储到全局变量中,然后我们在需要调用的地方,调用全局变量getApp()中之前存储的值,如phone:getApp().getId,随即取出了之前传递的值。
除了全局变量传值,我们还可以通过URL参数传值,URL参数传值的话,从上一个页面中传递某袜搭兆一个参数到编辑页面,以读取数据供填充之用
在读取页面实现onLoad(options)方法,从url路径中获取传递的参数值getId.
let userInfo = {...} //需要传递的参数,这里用对象举例。
let pages = getCurrentPages() //返回pages的所有信息;数组格式
let prevPage = pages[ pages.length - 2 ] //返回上一个页面的所有信息 上一级为-2
prevPage.setData({
user:userInfo //user为上个页面需要修改的数据,如data里面的数据胡毕,数据格式要对应。
})
wx.navigateBack({
delta:1 // 返回上一级页面行做罩档闹。
})
现在的小程序获取options值的话,最简单的方式,就是使用 onLoad(生命周期函数--监听页面加载) 来获取了
但是有的时候 需要使用 onShow(生命周期函数--监听页面显示) 来获取 options ,这个时候就获取不到options 值
打印options 会显示 undefined
如何在onshow中获取 袜桐伍options值
首先获取小程序的页面栈
什么是小程序的页面栈,了解一下
举例 :如果一个网页,你一直点击链接 ,就会一直跳转,(前提没有打开新的页面),你每打开一个页面,就会向页面栈中引入一个当前页面,就形成了一个栈结构,可以从当前的页面,一直返回到第一个页面.
同理,小程序也是存在栈结构的,小程序的栈解构,是有限制,最大长度只有10,只保存10个,如果超出10个,就会把第一个页面,释放掉
1. getCurrentPages( ) 获取页面栈
注意
一定要从传递参数的页面跳转过来, 注意
我个人的 :传递参数页面是pages/user/user/ ,点告或轮纤击跳转的是pages/order/order,
打印结果
打印出来是一个数组, 其中有标记着自己现在哪一个页面的路径"_route_",找到当前的页面路径 options就在其中
注意:我个人传递的参数 是tyoe = 1 传递参数页面是pages/user/user/ ,跳转的是pages/order/order, 所以options是在pages/order/order中的,也就是数组的下标为1的
2. 获取 options 中的参数
这样就获取到传递的参数了
希望帮助到各位小白了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)