微信小程序 通过onshow获取options的参数

微信小程序 通过onshow获取options的参数,第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 中的参数

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

希望帮助到各位小白了

相关链接:

每次通过信滑 scheme 调用,前端表现是重新触发 onLaunch 和 onShow,都会传参给app.js 的 onLaunch 和 onShow,基础页面会重新触发 onLoad 和 onShow 方法。

在保活期间(5分钟),比如锁屏之后,会重新触发 onShow 方法,但是却没法获取参数,也就是传参 scheme 只会在调用的时候触发一次,再次启动只是触发 onShow 不会传参。只能前端在 onShow 里做相应的业务逻辑。

当小程序用 scheme 从后台唤起的时候,其实相当于重新被打开了 onLoad,还有 onShow 都会被触发。

在保活期间(5分钟)被重新唤起的时候,就只会触发 onShow 。

在小程序 app.js 的 onLaunch 或 onShow 进行获取启动参数。

如滑并腊果冷启动,则会在 onLaunch(options) 中获得参数; 如果为热启动,则会在 onShow(options) 中获得参数。建议冷启动中获取不了的时候,再尝试在 onShow 中获取,若还是获取蔽闷不了,则可判定为没有拿到该参数。

大同小异,后续补上...

比如:

我们拿到的options中却是:

后面的数握高据直接丢失了

然后在需要的界面去取

然后在需要的界面使用

和三一样,还可以使用 encodeURIComponent 和 decodeURIComponent

这就是小程序中导航的参数含有?的解决方案,如果还有其他好的方法,欢段缺尺迎留言扮悉交流。

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻: https://cloud.tencent.com/developer/support-plan?invite_code=150afwwtin5bq

赏我一个赞吧~~~


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

原文地址: http://outofmemory.cn/yw/12304492.html

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

发表评论

登录后才能评论

评论列表(0条)

保存