
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数据、微信小程序:详情页请求不同数据的实现原理、小程序页面间有哪些传递数据的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)