页面跳转传参详解_JavaScript_脚本之家

微信小程序
页面跳转传参,做微信小程序必定会用的这样的功能,这里就记录下本人学习实现代码资料。

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

刚接触微信小程序,多里面的语法和属性还不怎么聊解,如有不多的地方希望各位大神多多指教。今天来说下微信小程序怎么跳转和传参,话不多说直接上代码。

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

实现的功能是给列表增加点击功能传参到下一页;

   {{userInfo.nickName}}          {{item.text}}   {{item.unreadNum}}    

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 { //更新数据 that.setData({ userInfo: userInfo }) }) }, userinfo_item: function  { 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.text}}          {{item.title}} {{item.subTitle}}    

页面跳转传参详解_JavaScript_脚本之家。微信小程序设置id的方法标识来传值

这里只为下面的列表增加了点击方法

在要跳转的item处,设置一个id并给当前的id赋值上对应的key值,如
`后我们在js的bindtap的响应事件中获取,并传递到下一个界面中;获取到id传的值通过e.currentTarget.id;获取设置的id值,并通过设置全局对象的方式来传递数值,获取全局对象var app=getApp();//设置全局的请求访问传递的参数app.requestDetailid=id;`在调试模式下:我们也可以在,wxml中查看到我们设置的每一个item的id值

listClick:function{ console.log; var p = event.currentTarget.id wx.navigateTo({url:'/pages/xiangqing/xiangqing?id=上一页的参数'}) } 

通过使用data – xxxx 的方法标识来传值

wx.navigateTo({url:’/pages/xiangqing/xiangqing?id=上一页的参数’})

通过使用data – xxxx 的方法标识来传值,xxxx可以自定义取名
比my.wxml中的data-index。如何获取data-xxxx传递的值?在js的bindtap的响应事件中:通过数据解析一层层找到数据,var id=e.target.dataset.index如js中的两个打印就是通过两种不同方式获得的id。

为跳转方法,id为需要传的参数 如果参数为动态参数代码如下:

微信小程序如何跨页面获取值

listClick:function{ console.log; var p = event.currentTarget.id wx.navigateTo({url:'/pages/xiangqing/xiangqing?id='+p}) } 

依据上面的方式设置要传递的值,页面跳转后,我们就需要在下一个页面拿到传递的数据相当于给全局变量添加了新的key,value在跳转后的js页面,接收传递过来的数据detail.js同样通过全局额方式取值出来,

其中p为上面为每一行设置的id值

var id=getApp().requestId;var index=getApp().requestIndex;console.log;console.log;

在下一页取值代码如下:

通过链接传参:

 data:{ // text:"这是一个页面" title:'' }, onLoad:function{ // 页面初始化 options为页面跳转所带来的参数 this.setData 
wx.navigateTo({ url: '/pages/account/feedback/feedback?test=feedback_test&name=jia', success: function {}, fail: function {}, complete: function

然后在页面上显示代码如下:

点击页面跳转时通过?方式传参。在跳转后的页面JS中做如下接收:

{{title}}

onLoad: function  { 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方式进行传递。前端小白总结,希望前端丰富的同学可以提供更多思路。

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注