小程序tab頁無法傳遞參數(shù)的方法

微信小程序tab頁面不能傳參解決方案:

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供鳳城企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、成都做網(wǎng)站、html5、小程序制作等業(yè)務(wù)。10年已為鳳城眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。

1.設(shè)置全局變量,通過全局變量訪問

2.小程序本地存儲

小程序不支持tab頁面?zhèn)鬟fqueryString參數(shù),無論是navigator,還是通過api跳轉(zhuǎn)

遇到的問題如下:

小程序navigator組件默認(rèn)不能跳轉(zhuǎn)到tabbar頁面

這個官方文檔寫了需要設(shè)置open-type為reLaunch或者switchTab,通過api跳轉(zhuǎn)的話同上

<navigator url="/page/index/index" open-type="switchTab">切換 Tab</navigator>
api:wx.switchTab({}) / wx.reLaunch()

在跳轉(zhuǎn)時通過在點(diǎn)擊事件中設(shè)置本地存儲后在另一個頁面獲取不到的問題

通過wx.getStorage()獲取不到數(shù)據(jù),遂改為了wx.getStorageSync()此種方式在開發(fā)者工具上可以獲取到,但是發(fā)現(xiàn)在部分android機(jī)型上無法獲取,猜測是因?yàn)閚avigator跳轉(zhuǎn)時可能并沒有立即存儲數(shù)據(jù),導(dǎo)致另一邊獲取不到,于是改成了將數(shù)據(jù)保存為全局變量,而不是本地存儲,然而,此種方法還是有問題,在真機(jī)上部分機(jī)型會出現(xiàn)"OnWebviewEvent: goPage, WebViewId xxxxxxxxx not found"警告,猜測是navigator組件的問題,所以改用了下面這種辦法

1.改為通過api跳轉(zhuǎn),

goToMall: function() {
  /* 
    global_data 為小程序的全局變量,
  */
  global_data.scenic_link_id = this.data.scenic_link_id;
  wx.switchTab({
   url: '/pages/mall/index/index',
  });
 }

2.在接收數(shù)據(jù)的onShow中接收,如果寫在onLoad中,在跳轉(zhuǎn)的時候不應(yīng)該用wx.switchTab跳轉(zhuǎn),而應(yīng)該用wx.reLaunch跳轉(zhuǎn),因?yàn)槿绻D(zhuǎn)的頁面以前已經(jīng)被打開了,用switchTab并不會重新渲染頁面,只會把頁面棧中的這個頁面重新顯示出來

let id = global_data.scenic_link_id || "1";
  // 獲取到值后清除,然后重新設(shè)置為默認(rèn)值,這樣下次如果是從默認(rèn)的頁面進(jìn)來的話才會讀取默認(rèn)的數(shù)據(jù)
  if (id != "1") {
   global_data.scenic_link_id = "1"
  };
  this.setData({
   scenic_link_id: id
  }, () => {
   // 網(wǎng)絡(luò)請求
   this.fetch();
  });

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

本文標(biāo)題:小程序tab頁無法傳遞參數(shù)的方法
標(biāo)題網(wǎng)址:http://www.muchs.cn/article34/jpjepe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、微信公眾號、品牌網(wǎng)站制作、自適應(yīng)網(wǎng)站、關(guān)鍵詞優(yōu)化用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名