快速學(xué)會(huì)小程序參數(shù)傳遞與路徑獲取

首先在小程序中,所有頁(yè)面的路由都由框架統(tǒng)一管理。getCurrentPages() 函數(shù)用于獲取當(dāng)前頁(yè)面棧的實(shí)例,以數(shù)組形式按棧的順序給出,第一個(gè)元素為首頁(yè),最后一個(gè)元素為當(dāng)前頁(yè)面。

// 獲取加載的頁(yè)面對(duì)象
const pages = getCurrentPages();
// 獲取當(dāng)前頁(yè)面的對(duì)象
const currentPage = pages[pages.length - 1];

tips:
1.不要嘗試修改頁(yè)面棧,會(huì)導(dǎo)致路由以及頁(yè)面狀態(tài)錯(cuò)誤。
2.不要在 App.onLaunch 的時(shí)候調(diào)用 getCurrentPages(),此時(shí) page 還沒(méi)有生成。

一、獲取當(dāng)前頁(yè)面url

// 當(dāng)前頁(yè)面url
const url = currentPage.route;

二、參數(shù)傳遞
1.全部變量,小程序初始化時(shí)會(huì)讀取app.js文件,我們可以在這里配置全局變量,如:圖片訪問(wèn)地址、請(qǐng)求地址、appid等等。

globalData: {
    appid: '123654',
    requestUrl: 'https://www.test.com/'
}

在頁(yè)面中,可以通過(guò) getApp()方法獲取到全局應(yīng)用對(duì)象,可以進(jìn)行讀取或更改。

var app = getApp();
var appid = app.globalData.appid;

2.小程序本地緩存
可以將一些常用變量(如appid)或者用戶行為(如搜索歷史)、長(zhǎng)期不改變的圖片(減少請(qǐng)求)等。本地緩存一經(jīng)儲(chǔ)存,其它頁(yè)面均可隨時(shí)獲取使用。

// 存儲(chǔ)
wx.setStorageSync("appid", "123654");
// 讀取
wx.getStorageSync("appid");

3.url傳遞
這個(gè)方法較適用于頁(yè)面之前跳轉(zhuǎn)(如商品列表跳轉(zhuǎn)商品詳情),直接拼接在url里就可以了。

wx.navigateTo({
    url: '../test/test?id=1'
})

獲取方式:
①getCurrentPages() 函數(shù)獲取

const options = currentPage.options;

②onLoad里直接獲取

onLoad: function (options) {
    console.log(options) 
}

小結(jié):
小程序參數(shù)、數(shù)據(jù)傳遞包括不限于以上幾種,大家可以結(jié)合實(shí)際情況使用,如:
1.全局變量,就在app.js配置
2.父、子及傳遞可以使用url傳遞
3.登錄狀態(tài)(token)等可以使用本地緩存,方便隨時(shí)調(diào)用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容