小程序模板下载与定制平台
客服QQ客服QQ 客服微信客服微信 公众号公众号

微信小程序传递参数的三种方法 看完发现这么简单

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

(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

}

然而,根据所传递参数的数据类型的不同,如对象、数组集合需要进行相应的处理。本质上都是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]);

}

}

}

}

TAG标签:小程序参数传递 小程序传参方法

上一个:微信小程序文本使用省略号隐藏的实现方法
下一个:微信小程序使用button实现分享的开发教程

小程序模板

免责声明:本站资源均来自用户分享和网络收集,仅供学习研究,请勿用于商业用途,若损害您的权益,请联系网站客服,核实后立即删除。

咨询客服

QQ:1847629575

全年 09:00-23:00

(其他时间请留言)

在线客服

Copyright©2021 www.why114.com 瓦窑模板 版权所有 鲁ICP备20017802号

展开