微信小程序需要傳遞參數到下一個頁面
首先,wxml是這樣寫的
<view class="unit_message" wx:for="{{unitmsg}}" wx:key="id" catchtap="toDetail" data-index="{{item.id}}" data-unit="{{item}}">
用data- 通過事件觸發傳遞給SERVICE (js文件中的data)
toDetail: function (e) {
console.log(e)
var index = e.currentTarget.dataset.index;
var unit = e.currentTarget.dataset.unit;
console.log(unit)
},
此時控制台
按照平時傳值的方法,嘗試用這種方法傳給下個頁面
url: '../detection_detail/detection_detail?index=' + index + '&unit=' +unit,
onLoad: function (options) {
console.log(options)
此時發現
接收到的對象被轉化成[object,object]形式,值取不出來
解決方法:
傳值時:
toDetail: function (e) {
console.log(e)
var index = e.currentTarget.dataset.index;
var unit = e.currentTarget.dataset.unit;
wx.navigateTo({
url: '../detection_detail/detection_detail?index=' + index + '&unit=' +encodeURIComponent(JSON.stringify(unit)),
})
},
取值時:
onLoad: function (options) {
console.log(options)
let index = options.index;
let unit = JSON.parse(decodeURIComponent(options.unit));
console.log(unit.comname)
問題解決!