鍍金池/ 問答/HTML/ 微信小程序頁面跳轉(zhuǎn)需要傳很多參數(shù)時(shí)怎么處理

微信小程序頁面跳轉(zhuǎn)需要傳很多參數(shù)時(shí)怎么處理

微信小程序頁面跳轉(zhuǎn)到另一個(gè)頁面時(shí)用了navigateto的方法,但跳轉(zhuǎn)時(shí)需要傳好多個(gè)參數(shù),直接拼接的話,怕URL會(huì)有長度的限制,導(dǎo)致不成功……試了用json對(duì)象傳,但是做法還是先把對(duì)象轉(zhuǎn)換成字符串在拼接到URL里,做法還是跟直接拼接URL一樣,擔(dān)心URL長度有限制……請(qǐng)大家?guī)蛶兔?,頁面跳轉(zhuǎn)時(shí),要傳好多個(gè)參數(shù)時(shí),要怎么操作比較好?謝謝了!

回答
編輯回答
尛曖昧

1、小程序navigateto的url應(yīng)該沒有長度顯示,只有層級(jí)限制。
2、真的怕的話可以存在全局變量里

2018年5月25日 21:56
編輯回答
維她命

一般只會(huì)傳一個(gè)id,比如從列表頁跳到詳情頁,只傳一個(gè)productId。
進(jìn)入詳情頁后,再通過productId請(qǐng)求接口拿詳情頁的數(shù)據(jù)。

2018年3月29日 08:58
編輯回答
貓館

為什么不用wx.setStorage等API做全局緩存?
鏈接

2017年4月16日 07:34
編輯回答
氕氘氚

對(duì)這個(gè)問題我的理解是,我們?cè)诹斜眄撁娅@取了一個(gè) dataList 對(duì)象,然后在詳情頁面我們希望將某個(gè)data的值取出并且存入。解決這個(gè)問題,個(gè)人認(rèn)為比較好的寫法是利用 id 和 globalData
首先,列表頁面獲取 dataList 之后,將其存入 globalData

var app = getApp();
app.globalData.currentDataList= dataList;

接著在跳轉(zhuǎn)頁面,參數(shù)設(shè)置為data 的 id

wx.navigateTo({
  url: 'data-detail?id=1'
})

最后在跳轉(zhuǎn)后頁面取出 data

Page({
  data: {payload: null}
  onLoad: function(option){
    var app = getApp();
    data = app.global.currentDataList[option.query.id]
    this.data.payload = data
  }
})


2018年5月22日 21:45
編輯回答
笨小蛋

沒有弄過微信小程序,不知道localstorage可不可以使用或者其他類似的web數(shù)據(jù)庫也行,這個(gè)你傳多少個(gè)參數(shù)都行

2018年7月21日 09:57