微信小程序 getCurrentPages获取当前页面栈

微信小程序 getCurrentPages获取当前页面栈,第1张

通常小程序直接页面传值是通过 url 拼接或利用 storage 。

比如在订单确认页面需要进行收货地址选择会进入到地址选择页面,这个订单确认页面与地址选择页面的通讯就很头疼。

而 getCurrentPages() 刚好解决了这一难题。

使用方法

如何获取 获取微信小程序URL参数 一般是web开发者的描述,但按照小程序的叫法应该是 获取当前打开页面路径中的参数

假如当前打开的页面路径为 list/listid=123

页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开当前页面路径中的参数。

参数说明

1、设置id的方法标识跳转后传递的参数值;

2、通过使用data - xxxx 的方法来标识要传递的值 微信小程序设置id的方法标识来传值在要跳转的item处,设置一个id并给当前的id赋值上对应的key值,比如一部**的id(后面带着id去下一个页面查询,详细信息)如:

后我们在js的bindtap的响应事件中获取,并传递到下一个界面中;

获取到id传的值

通过ecurrentTargetid;获取设置的id值,并通过设置全局对象的方式来传递数值,

获取全局对象 var app=getApp(); //设置全局的请求访问传递的参数 apprequestDetailid=id;

提示:其实我们也可以在,wxml中查看到我们设置的每一个item的id值

通过使用data - xxxx 的方法标识来传值通过使用data - xxxx 的方法标识来传值,xxxx可以自定义取名 比如data-key等等都可以。

如何获取data-xxxx传递的值

在js的bindtap的响应事件中:

通过数据解析一层层找到数据,var id=etargetdatasetid(根据你的data-id的取名)

微信小程序如何跨页面获取值

依据上面的方式设置要传递的值,页面跳转后,我们就需要在下一个页面拿到传递的数据(这个数据在传递前,就已经被设置成全局变量)

在跳转后的js页面,接收传递过来的数据detailjs

同样通过全局额方式取值出来,(即和appjs中取某个变量的值是一样的)

var movieid=getApp()MovieDetailid;

consolelog(movieid);

到此为止,我们数值传递并接收成功,后面就可以根据我们接收的参数,进行进一步的 *** 作了。

首先进入微信公众号后台新建一个推送的编辑页面

然后选择上方的小程序按钮,然后在下方框中填入appid,下面就介绍如何找小程序的appid

先点右上角三个点然后点击下面的   “ > ”  标记

然后点击更多资料,然后这边就有了appid

然后就可以填入到上方的框框中,然后点击放大镜,下面的下一步才会变成可以点击的状态

然后这个页面有个“获取更多页面路径”,然后会有右边的框框填自己的微信号就可以了。然后点击开启

然后再回到手机的小程序页面,点击右上角的三个点,就出现了复制路径的选择

然后就可以得到想要的页面路径了,然后这个路径放在上面的新建图文的默认首页路径pages/index/main改成自己的路径就可以了!

现在的小程序获取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 中的参数

这样就获取到传递的参数了

希望帮助到各位小白了

以上就是关于微信小程序 getCurrentPages获取当前页面栈全部的内容,包括:微信小程序 getCurrentPages获取当前页面栈、获取微信小程序URL参数、小程序 第一个页面传递数据给第二个页面展示后如何再获取第二个页面的数据并传输给第三个页面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9389341.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存