1. 程式人生 > 實用技巧 >【小程式】---- getCurrentPages()的使用,返回上一頁傳遞數值

【小程式】---- getCurrentPages()的使用,返回上一頁傳遞數值

一、功能描述:

getCurrentPages() 函式用於獲取當前頁面棧的例項,以陣列形式按棧的順序給出,第一個元素為首頁,最後一個元素為當前頁面。

二、注意要點:

1. 不要嘗試修改頁面棧,會導致路由以及頁面狀態錯誤。
2. 不要在 App.onLaunch 的時候呼叫 getCurrentPages(),此時page 還沒有生成。

三、使用場景:

1. 利用頁面棧的長度(如:進入小程式非預設首頁時,需要提供返回首頁的按鈕或者執行其它事件)

onShow() {
   let pages = getCurrentPages(); //當前頁面棧
   if (pages.length == 1) {
     
//todo } }

2、跨頁面賦值

 let pages = getCurrentPages(); // 當前頁面棧
 let prevPage = pages[pages.length - 2]; // 上一頁面
 prevPage.setData({
    //直接給上移頁面賦值
 });

3、頁面跳轉後自動重新整理

wx.switchTab({
   url: '../index/index',
   success: function (e) {
     var page = getCurrentPages().pop(); //當前頁面
     if (page == undefined || page == null
) return; page.onLoad(); //或者其它操作 } })

4、獲取當前頁面相關資訊

 let pages = getCurrentPages();  // 當前頁面棧
 // 01-當前頁面為頁面棧的最後一個元素
 let prevPage = pages[pages.length - 1]; // 當前頁面
// 02-pop() 方法用於刪除並返回陣列的最後一個元素
 let prevPage = pages.pop(); // 當前頁面

console.log( prevPage.route); // 舉例:輸出為‘pages/index/index

【參考:https://www.cnblogs.com/gentrywolf/p/11280919.html】