微信小程序返回上一頁的各種方法實例

返回上一頁,一共有4中方法,每種方法都有不一樣細節

一、方法羅列

函數 說明
navigator 保留當前頁面,在wxml使用
wx.navigateTo 保留當前頁面,在js使用
wx.redirectTo 不保留當前頁面,在js使用
wx.switchTab 不保留當前頁面,跳轉到tabBar頁

二、講解

1️⃣ navigate

<navigator  url=".路徑">
    其它
</navigator>

2️⃣wx.navigateTo 

wx.navigateTo({
       url: '路徑',
 })

3️⃣wx.redirectT

wx.redirectTo({
    url: '路徑',
})

4️⃣wx.switchTab

wx.switchTab({
    url: '路徑',
})

三、常用案例

navigateBack 省去寫路徑

  wx.navigateBack({
    delta: 1
  });

reLaunch 關閉所有頁面,打開到應用內的某個頁面

  wx.reLaunch({ 
    url: '/pages/index/index',
  })

四、總結

返回頁面各有優點,按照自己需求使用。

補充:微信小程序如何返回上一個頁面並刷新上一個頁面

由於項目中經常碰到創建、刪除後返回列表的場景,因此需要在返回後,頁面及時反饋出操作後的結果列表,而不是舊數據列表

如何獲取當前頁面棧

var pages = getCurrentPages();
var beforePage = pages[pages.length - 2];
var currentPage = pages[pages.length - 1];

然後你就可以通過對象直接操作當前頁面,比如調用函數。

創建

一般創建後,需要跳轉到詳情頁面,然後詳情頁面返回又是列表頁,這裡舉例說明如何返回列表頁時有新創建的項目

var pages = getCurrentPages();
var beforePage = pages[pages.length - 2];
// 調用列表頁的獲取數據函數
beforePage.loadData();
// 跳轉
wx.redirectTo({
    url: '/pages/info/info',
});

這裡的跳轉使用瞭 redirectTo,會關閉當前頁面,所以我們在info頁面點左上角返回時,會直接返回到列表頁

建議在列表頁的onLoad函數中,將數據請求單獨放在一個函數中進行調用,比如這裡的loadData,這樣在create頁面就能隻刷新數據,而onLoad中可能存在的,比如獲取用戶id等操作,則不會重復再次執行

刪除

var pages = getCurrentPages();
var beforePage = pages[pages.length - 2];
beforePage.loadData();
wx.navigateBack({
    delta: 1,
})

這裡需要使用navigateBack返回上一級頁面

總結

到此這篇關於微信小程序返回上一頁的文章就介紹到這瞭,更多相關微信小程序返回上一頁內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: