【小程序】使用uni-app搭建小程序環境---頁面刷新問題


一、頁面跳轉后刷新

頁面邏輯:我的頁面 點擊頭像---登錄彈窗---點擊去登錄---登錄后跳轉到我的頁面

存在的問題:沒有加載我的頁面接口

解決方案:

uni.switchTab({
    url: this.backurl,
    success(){
        let page = getCurrentPages().pop();  //跳轉頁面成功之后                                        
        console.log(getCurrentPages(),page);
        if (!page) return;                               
        page.onLoad(); //如果頁面存在,則重新刷新頁面
     }
})

 二、情景描述:

  從頁面A跳轉到頁面B 

  B頁面接收A頁面傳遞的參數

  B頁面點贊操作,

  從B頁面返回到A頁面  A頁面數據同步

解決方案: 在B頁面設置一個刷新頁面的標識   A頁面識別標識后更新數據

B頁面

onLoad(e) {
    this.cid = e.cid;
    this.getList();
    var pages = getCurrentPages();//函數用於獲取當前頁面棧的實例,以數組形式按棧的順序給出,第一個元素為首頁,最后一個元素為當前頁面。
    var prevPage = pages[pages.length - 2]; //上一個頁面
    console.log(prevPage);
    //直接調用上一個頁面的setData()方法,把數據存到上一個頁面中去
    prevPage.setData({
        isDoRefresh:true
    })
        
},

A頁面

onShow() {
    let pages = getCurrentPages();
    let currPage = pages[pages.length-1];
    if (currPage.data.isDoRefresh == true){
        currPage.data.isDoRefresh = false;
        this.init();
    }
},
//onLoad(從B頁面返回A頁面不會執行)
//    監聽頁面加載,
//    其參數為上個頁面傳遞的數據,參數類型為Object(用於頁面傳參),    
//onShow(從B頁面返回A頁面執行)
//監聽頁面顯示。頁面每次出現在屏幕上都觸發,包括從下級頁面點返回//露出當前頁面

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM