`

微信小程序 - 参数传递

 
阅读更多

微信小程序 - 参数传递

 

 

小程序传递参数的方式有三种:

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]);

    }

  }

 

}

 

 

分享到:
评论

相关推荐

    微信小程序-养生APP源码

    微信小程序是一种轻量级的应用开发平台,主要针对移动端,尤其是智能手机用户。它是腾讯公司于2017年推出的一种全新的应用形态,旨在提供便捷、快速的用户体验,无需下载安装即可使用。微信小程序-养生APP源码是开发...

    微信小程序-米家商城源码

    微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要应用于移动端,为用户提供便捷的、无需下载安装即可使用的线上服务。米家商城是小米公司官方的电商平台,它利用微信小程序的技术,为用户提供了浏览商品...

    微信小程序-微信小程序:豆瓣电影

    11. **页面路由管理**:微信小程序有自己的页面路由机制,用于控制页面之间的跳转和参数传递。 12. **本地存储**:可以使用wx.setStorageSync和wx.getStorageSync进行数据的本地持久化存储。 13. **动画效果**:...

    微信小程序-通过api接口获取新闻列表的demo

    在微信小程序开发中,通过API接口获取数据是常见的操作,特别是在构建新闻列表这样的功能时。本项目"微信小程序-通过api接口获取新闻列表的demo"就是这样一个实例,它展示了如何利用微信小程序的网络请求能力来从...

    微信小程序-淘票票小程序源码及项目截图

    微信小程序是一种轻量级的应用开发平台,主要针对移动端,尤其是智能手机用户。它的核心目标是提供一种无需下载安装即可使用的应用体验,用户通过扫描二维码或搜索即可打开应用。在这个"微信小程序-淘票票小程序源码...

    微信小程序-点赞打赏小程序(完整带后台)源码及项目截图

    微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要针对移动端,旨在提供便捷的、无需下载安装即可使用的应用服务。本项目“微信小程序-点赞打赏小程序(完整带后台)”是一个全面的解决方案,包含前端...

    微信小程序-扫码购物商城实例源码

    在本实例中,"微信小程序-扫码购物商城"是一个基于微信小程序开发的电子商务应用,它提供了用户通过扫描二维码或商品条形码进行购物的便捷功能。这个实例源码涵盖了微信小程序开发的多个重要知识点,包括界面设计、...

    微信小程序-豆瓣电影

    微信小程序是一种轻量级的应用开发平台,主要针对移动端,尤其是智能手机用户。它允许开发者在无需安装应用程序的情况下,提供丰富的功能和服务。"微信小程序-豆瓣电影"是基于微信小程序平台开发的一个应用实例,它...

    微信小程序-k线饼图柱图

    在微信小程序中实现饼图,开发者可以利用如wx-charts这样的库,通过传递数据和配置参数,绘制出动态的、交互式的饼图。饼图的每个扇区代表一个数据项,其大小与该数据项在总数据中的比例相对应。 柱状图则是一种以...

    熊猫签证-微信小程序-html

    6. 页面路由管理:在微信小程序中,页面间的跳转和参数传递是通过路由系统实现的。开发者需要学习如何定义页面路径,以及如何在不同页面之间传递数据。 7. 界面设计与适配:由于微信小程序需要在不同尺寸的手机屏幕...

    微信小程序-仿QQ

    6. **页面路由管理**:微信小程序的页面跳转和参数传递是通过`wx.navigateTo`、`wx.navigateBack`等方法实现的。在“仿QQ”项目中,需要设计合理的页面跳转逻辑,如从聊天列表跳转到聊天详情。 7. **界面设计与用户...

    微信小程序-创客+实现大量功能,推荐研究.zip

    微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要应用于移动端,旨在提供便捷的、无需下载安装即可使用的应用体验。"微信小程序-创客+实现大量功能,推荐研究.zip"是一个包含源码的压缩包,它提供了丰富...

    微信小程序-51报名管家小程序源码及项目截图

    微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要应用于移动端,旨在方便用户无需下载安装即可使用的应用。51报名管家小程序是一款基于微信小程序平台开发的管理工具,主要用于活动报名、信息收集等场景...

    微信小程序----右侧展示不动,左侧导航滑动

    微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,旨在让开发者能够快速构建在微信内运行的小程序。本文将详细探讨如何实现“微信小程序——右侧展示不动,左侧导航滑动”的功能,这是一种常见的侧滑菜单设计...

    微信小程序-问答小程序 精品源代码

    微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供便捷的、无需下载安装即可使用的应用服务。"问答小程序"是微信小程序的一种常见应用场景,它通常包含用户提问、回答、浏览、搜索等...

    微信小程序-仿小米商城小程序源码及截图

    页面间的跳转和参数传递在微信小程序中通过`wx.navigateTo`、`wx.redirectTo`等API实现。在仿小米商城的小程序里,商品详情页、购物车页、支付页之间的切换会涉及这些路由操作。 6. **本地存储** 微信小程序提供...

    微信小程序-体育新闻小程序源码及项目截图

    微信小程序是一种轻量级的应用开发平台,主要针对移动端,尤其是智能手机用户。它允许开发者通过一套特定的开发工具和框架,创建出能在微信内部运行的小型应用程序,无需用户下载安装即可使用,大大提升了用户体验。...

    微信小程序--使用策略模式进行表单验证strategy-master.zip

    在微信小程序中,我们可以将这些策略类作为组件属性或者页面数据来传递,根据业务需求动态选择合适的验证策略。这不仅提高了代码的可读性,也简化了维护工作。同时,由于策略模式强调的是行为的封装,所以对于复杂的...

    微信小程序-猫眼.zip

    微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供便捷的、无需下载安装即可使用的应用体验。"微信小程序-猫眼.zip" 是一个包含猫眼电影相关功能的微信小程序项目文件包。下面我们将...

    微信小程序-滴滴公交精品源代码

    微信小程序是一种轻量级的应用开发平台,由腾讯公司推出,主要应用于移动端,为用户提供便捷的服务。滴滴公交精品源代码是针对微信小程序开发的一款应用,它专注于公共交通查询服务,特别是公交车查询,用户可以通过...

Global site tag (gtag.js) - Google Analytics