本文实例讲述了微信小程序实现页面跳转传值以及获取值的方法。分享给大家供大家参考,具体如下:
在安卓中页面跳转传值都是通过bundle,现在研究一下小程序的列表跳转及页面传值。
my.wxml
rush:xml;">
my.js
rush:js;">
var app = getApp()
Page({
data: {
userInfo: {},userListInfo: [{
icon: '../../images/iconfont-dingdan.png',text: '我的订单',isunread: true,unreadNum: 2,index:1
},{
icon: '../../images/iconfont-kefu.png',text: '联系客服',index: 5
},{
icon: '../../images/iconfont-help.png',text: '常见问题',index: 6
}]
},onLoad: function () {
var that = this
//
调用应用实例的
方法获取全局数据
app.getUserInfo(function (userInfo) {
//更新数据
that.setData({
userInfo: userInfo
})
})
},userinfo_item: function (e) {
var index = e.target.dataset.index;
console.log("----index----" + index)
console.log('-----id-----'
+ e.currentTarget.id)
var app = getApp();
//设置全局的请求访问传递的参数
app.requestId = e.currentTarget.id;
app.requestIndex = index;
}
})
在要跳转的item处,设置一个id并给当前的id赋值上对应的key值,
如 id="{{item.index}}"
后我们在js的bindtap的响应事件中获取,并传递到下一个界面中;
获取到id传的值
通过e.currentTarget.id;
获取设置的id值,并通过设置全局对象的方式来传递数值,
获取全局对象 var app=getApp();
//设置全局的请求访问传递的参数 app.requestDetailid=id;
一个item的id值
通过使用data - xxxx 的方法标识来传值
通过使用data - xxxx 的方法标识来传值,xxxx可以自定义取名 比my.wxml中的data-index。
如何获取data-xxxx传递的值?
在js的bindtap的响应事件中:
通过数据解析一层层找到数据,var id=e.target.dataset.index
(根据你的data-id的取名)
如js中的两个打印就是通过两种不同方式获得的id。
依据上面的方式设置要传递的值,页面跳转后,我们就需要在下一个页面拿到传递的数据(这个数据在传递前,就已经被设置成全局变量)相当于给全局变量添加了新的key,value
在跳转后的js页面,接收传递过来的数据detail.js
同样通过全局额方式取值出来,(即和app.js中取某个变量的值是一样的)
rush:js;">
var id=getApp().requestId;
var index=getApp().requestIndex;
console.log(id);
console.log(index);
通过链接传参:
rush:js;">
wx.navigat
eto({
url: '/pages/account/
Feedback/
Feedback?test=
Feedback_test&name=jia',success: function(res) {},fail: function(res) {},complete: function(res) {},})
点击页面跳转时通过?方式传参。
在
跳转后的
页面JS中做如下接收:
rush:js;">
onLoad: function (e) {
var movieid = getApp().requestId;
var movieIndex = getApp().requestIndex;
console.log("-----
Feedback--movieid--" + movieid +" " + movieIndex);
console.log("-----
Feedback--test--" + e.test);
console.log("-----
Feedback--name--" + e.name);
},
感觉比较好的方法还是通过链接方式进行参数传递,第一种有些像安卓中进行页面跳转,把一些传递的参数写到Application中,第二种是像通过bundle方式进行传递。前端小白总结,希望前端丰富的同学可以提供更多思路。
希望本文所述对大家微信小程序开发有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。