小程序怎么在页面获取接口里面的传参data数据

小程序怎么在页面获取接口里面的传参data数据,第1张

ajs

// 页面跳转,URL地址是将要跳转的页面相对当前页面的路径 wxnavigateTo({

url: '//help/helpdata=' + {num:'33'},

})

help页面

onLoad: function (options) { // 打印页面传递来的参数

consolelog('options',options) // 打印页面传递来的参数类型

consolelog(typeof(optionsdata))

},

如图所示是接下来需要完成的效果:

页面结构:2个, index (首页)以及 details (详情页),首页是产品列表,点击产品后进入对应的详情页。

首页的wxml结构:

首页的js数据:

对于详情页请求数据,核心在于点击对应产品然后请求对应的产品数据,因此这里的 navigator 组件跳转的url至关重要,这里的 /pages/details/detailsgoodsId={{index} 是模拟了后台提供的数据接口,后面的 goodsId 作为产品的辨识符,当点击之后可以获取到当前点击的是哪个产品,以供详情页进行请求数据。

详情页wxml结构:

详情页js数据:

详情页请求数据的重点在于生命周期函数, onLoad 函数,它可以在页面加载的时候进行触发,并可以通过参数获取到跳转链接上面的辨识符,也就是通过 onLoad 函数中的 options ,获取到了刚才在 indexwxml 页面url中的辨识符: goodId ;

通过它可以获取到对应的产品数据,再将数据进行修改更新到详情页结构 detailswxml 即可。

本案例中跨页面传递数据主要是利用了URL传值,在另外一个页面中接收,并将数据渲染到页面中,这个过程就需要用到生命周期函数:onLoad函数。

主要有:参数传递、localstorage传递、全局变量传递和页面对象传递等。

最常见的是参数传递,也就是在地址后面加上参数,然后在onload函数里面获取参数。

localstorage传递,就是把需要传递的参数保存到本地,在需要获取的页面当中获取保存的值,并且可以在不需要的时候删除。

全局变量传递,就是在页面当中改变app全局的某些变量,并且在需要获取的页面当中获取全局变量的值。

页面对象传递,就是获取当前的页面对象数组,找到相应的页面,并且执行该页面的方法进行直接赋值,实现传递参数的目的。

微信小程序 在获取用户信息的时候 有特定的要求 :

button 按钮中open-type有两种方式获取用户的信息:getUserInfo/getPhoneNumber

下面两种信息就是直接展示用户头像和用户微信名但不可获取:

下面我们主要介绍获取微信绑定的手机号的问题:(MPvue模板)

bindGetUserInfo函数中的Even里面包好detail里面会有三个参数:

返回参数的话是需要解密才能使用的,在这里介绍一下第三种使用云调用直接获取开放数据的方式(前端自己解密不需要调用后端接口了~):

    1、首先你的微信小程序是需要开通云开发的。(否则的话在你获取星系以后没回参数里面是没有cloudID的)。

     2、在云开发里面选择云函数然后新建云函数(注意新建云函数的名字下面需要用到的)

        3、接下就是在获取用户信息以后调用函数解密:(mp vue 使用的话需要wxclouldinit()初始化 原生的可以忽略直接调用)

        4、success :callback里面res 里面包含了当前微信账号大量信息:如手机账号(resresultweRunDatadataphoneNumber)

        5、剩下的就简单多了 可以拿着手机号码进行信任登陆了 !

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);

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

以上就是关于小程序怎么在页面获取接口里面的传参data数据全部的内容,包括:小程序怎么在页面获取接口里面的传参data数据、微信小程序:详情页请求不同数据的实现原理、小程序页面间有哪些传递数据的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/10128584.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存