界面A有一个数组["1", "2", "3"]
传递给界面B,发现数组变成了字符串。
//A界面
let array = this.data.numberArray
console.log(array) //打印结果 ["1", "2", "3"],是数组类型
wx.navigateTo({
url: "../PageB/PageB?array=" + array,
})
//B界面
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
console.log(options.array) //打印结果为string类型 "1,2,3"
},
解决办法:
传送界面(A界面)使用:JSON.stringify(array)
接收界面(B界面)使用:JSON.parse(array)
例如上例:
//A界面
let array = JSON.stringify(this.data.numberArray)
console.log(array) //打印结果 ["1", "2", "3"],是数组类型
wx.navigateTo({
url: "../PageB/PageB?array=" + array,
})
//B界面
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let array = JSON.parse(options.array)
console.log(array) //打印结果 ["1", "2", "3"],是数组类型
},
资料来源:微信小程序--页面传值(数组)