微信小程序开发之页面传取值(数组,对象,字符串)
- 格式:docx
- 大小:18.49 KB
- 文档页数:4
微信小程序开发之页面传取值(数组,对象,字符串)
微信小程序页面的传值取值.
小程序传递参数的方式有三种:
(1)通过在App.js中设置全局变量
(2)通过拼接URL直接传递
(3)通过数据缓存存储再获取
1.app.js
通常把不更改的常量数据放在app.js的Data中,在各个页面都可以通过App实例获取Data的数据.
1.var app = getApp();
2.var data = app.data;
2.wx.navigateTo({})中URL携带参数
1.wx.navigateTo({
2. url: 'test?id=1'
3.});
3.数据缓存方式
①wx.setStorageSync(KEY,DATA)存储数据
1.try {
2. wx.setStorageSync('key', 'value')
3.} catch (e) {
4.}
②wx.getStorageSync(KEY)获取数据
1.try {
2.var value = wx.getStorageSync('key')
3.if (value) {
4.// Do something with return value
5. }
6.} catch (e) {
7.// Do something when catch error
8.}
9.或
10.w x.getStorage({
11. key: 'key',
12. success: function(res) {
13.console.log(res.data)
14. }
15.})
1. 传递String字符串
1.Page({
2. data: {
3. testStr: 'xiaochengxu'
4. },
5. next: function(e){
6. wx.navigateTo({
7. url: '/test/test?str='+this.data.testStr
8. })
9. }
10.})
1.Page({
2. onLoad:function(options){
3.console.log("接收到的参数是str="+options.str);
4. }
5.})
打印内容:接收到的参数是str=xiaochengxu
2. 传递对象
1.Page({
2. data: {
3. testData:{name:'username', password:'password'}
4. },
5. next: function(e){
6. wx.navigateTo({
7. url: '/test/test?testData='+JSON.stringify(this.data.testData)
8. })
9. }
10.})
1.Page({
2. data:{
3. testData:null
4. },
5.onLoad:function(options){
6.console.log("接收到的参数是testData="+options.testData);
7.this.data.testData = JSON.parse(options.testData);
8.}})
打印内容:接收到的参数是
testData={"name":"username","password":"password"}
3. 传递数组集合
1.Page({
2. data: {
3. list:['item-A','item-B']
4. },
5. next: function(e){
6. wx.navigateTo({
7. url: '/test/test?list='+JSON.stringify(this.data.list),
8. })
9. }
10.})
1.Page({
2. data:{
3. list:[]
4. },
5.onLoad:function(options){
6.console.log("接收到的参数是list="+options.list);
7.this.data.list = JSON.parse(options.list);
8.}})
打印内容:接收到的参数是list=["item-A","item-B"]