微信小程序实现页面跳转传值以及获取值的方法分析

网友投稿 543 2023-03-05


微信小程序实现页面跳转传值以及获取值的方法分析

本文实例讲述了微信小程序实现页面跳转传值以及获取值的方法。分享给大家供大家参考,具体如下:

在安卓中页面跳转传值都是通过bundle,现在研究一下小程序的列表跳转及页面传值。

my.wxml

{{userInfo.nickName}}

bindtap="userinfo_item">

bindtap="userinfo_item">

{{item.text}}

{{item.unreadNum}}

my.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;

}

})

微信小CoPVs程序设置id的方法标识来传值

在要跳转的item处,设置一个id并给当前的id赋值上对应的key值,

如 id="{{item.index}}"

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

获取到id传的值

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

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

在调试模式下:我们也可以在,wxml中查看到我们设置的每一个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页面,接CoPVs收传递过来的数据detail.js

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

var id=getApp().requestId;

var index=getApp().requestIndex;

console.log(id);

console.log(index);

通过链接传参:

wx.navigateTo({

url: '/pages/account/feedback/feedback?test=feedback_test&name=jia',

success: function(res) {},

fail: function(res) {},

complete: function(res) {},

})

点击页面跳转时通过?方式传参。在跳转后的页面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方式进行传递。前端小白总结,希望前端丰富的同学可以提供更多思路。

希望本文所述对大家微信小程序开发有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:接口测试用例设计思路(接口测试用例需要考虑哪些测试点)
下一篇:详解webpack与SPA实践之开发环境搭建
相关文章

 发表评论

暂时没有评论,来抢沙发吧~