微信小程序 - 参数传递
小程序传递参数的方式有三种:
(1)通过在App.js中设置全局变量
(2)通过拼接URL直接传递
(3)通过数据缓存存储再获取
1.app.js
通常把不会更改的数据放在app.js的Data中,在各个页面中都可以通过APP实例获取Data数据。
var app = getApp();
var data = app.data; |
2.wx.navigateTo({})中URL携带参数
wx.navigateTo({ url: 'test?id=1' }); |
3. 数据缓存
① wx.setStorageSync(KEY,DATA)存储数据
try { wx.setStorageSync('key', 'value') } catch (e) { } |
② wx.getStorageSync(KEY)获取数据
try { var value = wx.getStorageSync('key') if (value) { // Do something with return value } } catch (e) { // Do something when catch error } 或 wx.getStorage({ key: 'key', success: function(res) { console.log(res.data) }
}) |
然而,根据所传递参数的数据类型的不同,如对象、数组集合需要进行相应的处理。本质上都是String类型的传递。
1、传递基本数据类型
Page({ data: { testStr: 'xiaochengxu' }, next: function(e){ wx.navigateTo({ url: '/test/test?str=' + this.data.testStr }) } }) |
Page({ onLoad:function(options){ console.log("接收到的参数是str = "+options.str); } }) |
打印内容:接收到的参数是str=xiaochengxu
2,传递对象
Page({ data: { testData:{name:'username', password:'password'} }, next: function(e){ wx.navigateTo({ url: '/test/test?testData='+JSON.stringify(this.data.testData) }) } }) |
Page({ data:{ testData:null }, onLoad:function(options){ console.log("接收到的参数是testData="+options.testData); this.data.testData = JSON.parse(options.testData); }}) |
打印内容:
接收到的参数是testData={"name":"username","password":"password"}
3,传递数组集合
Page({ data: { list:['item-A','item-B'] }, next: function(e){ wx.navigateTo({ url: '/test/test?list='+JSON.stringify(this.data.list), }) } }) |
Page({ data:{ list:[] }, onLoad:function(options){ console.log("接收到的参数是list="+options.list); this.data.list = JSON.parse(options.list); }}) |
打印内容:接收到的参数是list=["item-A","item-B"]
统一处理:
var dealParam = function(data) { for(var i in data) { if (typeof data[i] == ‘string’){ console.log(“key=”+i+“; value=”+data[i]); } else if (typeof data[i] == ‘object’) { dealParam(data[i]); } }
} |
相关推荐
微信小程序是一种轻量级的应用开发平台,主要针对移动端,尤其是智能手机用户。它是腾讯公司于2017年推出的一种全新的应用形态,旨在提供便捷、快速的用户体验,无需下载安装即可使用。微信小程序-养生APP源码是开发...
微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要应用于移动端,为用户提供便捷的、无需下载安装即可使用的线上服务。米家商城是小米公司官方的电商平台,它利用微信小程序的技术,为用户提供了浏览商品...
11. **页面路由管理**:微信小程序有自己的页面路由机制,用于控制页面之间的跳转和参数传递。 12. **本地存储**:可以使用wx.setStorageSync和wx.getStorageSync进行数据的本地持久化存储。 13. **动画效果**:...
在微信小程序开发中,通过API接口获取数据是常见的操作,特别是在构建新闻列表这样的功能时。本项目"微信小程序-通过api接口获取新闻列表的demo"就是这样一个实例,它展示了如何利用微信小程序的网络请求能力来从...
微信小程序是一种轻量级的应用开发平台,主要针对移动端,尤其是智能手机用户。它的核心目标是提供一种无需下载安装即可使用的应用体验,用户通过扫描二维码或搜索即可打开应用。在这个"微信小程序-淘票票小程序源码...
微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要针对移动端,旨在提供便捷的、无需下载安装即可使用的应用服务。本项目“微信小程序-点赞打赏小程序(完整带后台)”是一个全面的解决方案,包含前端...
在本实例中,"微信小程序-扫码购物商城"是一个基于微信小程序开发的电子商务应用,它提供了用户通过扫描二维码或商品条形码进行购物的便捷功能。这个实例源码涵盖了微信小程序开发的多个重要知识点,包括界面设计、...
微信小程序是一种轻量级的应用开发平台,主要针对移动端,尤其是智能手机用户。它允许开发者在无需安装应用程序的情况下,提供丰富的功能和服务。"微信小程序-豆瓣电影"是基于微信小程序平台开发的一个应用实例,它...
在微信小程序中实现饼图,开发者可以利用如wx-charts这样的库,通过传递数据和配置参数,绘制出动态的、交互式的饼图。饼图的每个扇区代表一个数据项,其大小与该数据项在总数据中的比例相对应。 柱状图则是一种以...
6. 页面路由管理:在微信小程序中,页面间的跳转和参数传递是通过路由系统实现的。开发者需要学习如何定义页面路径,以及如何在不同页面之间传递数据。 7. 界面设计与适配:由于微信小程序需要在不同尺寸的手机屏幕...
6. **页面路由管理**:微信小程序的页面跳转和参数传递是通过`wx.navigateTo`、`wx.navigateBack`等方法实现的。在“仿QQ”项目中,需要设计合理的页面跳转逻辑,如从聊天列表跳转到聊天详情。 7. **界面设计与用户...
微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要应用于移动端,旨在提供便捷的、无需下载安装即可使用的应用体验。"微信小程序-创客+实现大量功能,推荐研究.zip"是一个包含源码的压缩包,它提供了丰富...
微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要应用于移动端,旨在方便用户无需下载安装即可使用的应用。51报名管家小程序是一款基于微信小程序平台开发的管理工具,主要用于活动报名、信息收集等场景...
微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,旨在让开发者能够快速构建在微信内运行的小程序。本文将详细探讨如何实现“微信小程序——右侧展示不动,左侧导航滑动”的功能,这是一种常见的侧滑菜单设计...
微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供便捷的、无需下载安装即可使用的应用服务。"问答小程序"是微信小程序的一种常见应用场景,它通常包含用户提问、回答、浏览、搜索等...
页面间的跳转和参数传递在微信小程序中通过`wx.navigateTo`、`wx.redirectTo`等API实现。在仿小米商城的小程序里,商品详情页、购物车页、支付页之间的切换会涉及这些路由操作。 6. **本地存储** 微信小程序提供...
微信小程序是一种轻量级的应用开发平台,主要针对移动端,尤其是智能手机用户。它允许开发者通过一套特定的开发工具和框架,创建出能在微信内部运行的小型应用程序,无需用户下载安装即可使用,大大提升了用户体验。...
在微信小程序中,我们可以将这些策略类作为组件属性或者页面数据来传递,根据业务需求动态选择合适的验证策略。这不仅提高了代码的可读性,也简化了维护工作。同时,由于策略模式强调的是行为的封装,所以对于复杂的...
微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供便捷的、无需下载安装即可使用的应用体验。"微信小程序-猫眼.zip" 是一个包含猫眼电影相关功能的微信小程序项目文件包。下面我们将...
微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要应用于移动端,为用户提供便捷的服务。滴滴公交精品源代码是针对微信小程序开发的一款应用,它专注于公共交通查询服务,特别是公交车查询,用户可以通过...