注冊(cè)

小程序返回上界面不刷新問題

2020-10-21
導(dǎo)讀:小程序返回上界面不刷新問題 現(xiàn)在假設(shè)我有個(gè)A界面,列表或者是其他的界面,從A界面點(diǎn)擊跳轉(zhuǎn)到B界面,然后在B界面操作后A界面應(yīng)該發(fā)生變化,但是實(shí)際...

  小程序返回上界面不刷新問題

  現(xiàn)在假設(shè)我有個(gè)A界面,列表或者是其他的界面,從A界面點(diǎn)擊跳轉(zhuǎn)到B界面,然后在B界面操作后A界面應(yīng)該發(fā)生變化,但是實(shí)際上我們點(diǎn)擊返回的時(shí)候我們發(fā)現(xiàn)并沒有刷新,這個(gè)時(shí)候我們應(yīng)該通過界面棧來實(shí)現(xiàn)A界面的刷新,下面是重點(diǎn):

  1,首先,我們?cè)贏界面寫一個(gè)函數(shù),假如叫 changeData() ,注意這個(gè)函數(shù)并不是在onload里面,應(yīng)該和onload是同級(jí)目錄,代碼塊如下:

changeData: function (historyArr) {

let _this=this;
    this.loadList();
},

onLoad:function(){//................},

  2,其次,我們應(yīng)該在B界面中添加若干個(gè)獲取界面棧的代碼塊,舉個(gè)例子吧,

 ?、伲蚁朐贐界面初始化的時(shí)候就讓A界面實(shí)現(xiàn)刷新,這個(gè)時(shí)候我們可以在B界面的onload里面添加代碼塊,如果B界面onload里面請(qǐng)求了函數(shù),我們可以在請(qǐng)求的函數(shù)的

  success中調(diào)用代碼塊,具體代碼塊如下:解釋已經(jīng)說明

//獲取頁面棧
var pages = getCurrentPages();
if (pages.length > 1) {
    //上一個(gè)頁面實(shí)例對(duì)象
    var prePage = pages[pages.length - 2];
    //關(guān)鍵在這里,這里面是觸發(fā)上個(gè)界面
    prePage.changeData(prePage.data.historyArr)// 不同的人里面的值是不同的,這個(gè)數(shù)據(jù)是我的,具體的你們要根據(jù)自己的來查看所要傳的參數(shù)
}

 ?、?,我想在界面B操作后界面A實(shí)現(xiàn)刷新,或者是界面的局部刷新,這個(gè)時(shí)候我們應(yīng)該在B界面中的你想要的操做的函數(shù)執(zhí)行完成后(具體的看情況)調(diào)用上面的代碼塊

  3,想要試試行不行,建議打印看下吧,A界面的函數(shù)加打印的數(shù)據(jù)的話觸發(fā)是在B界面觸發(fā)的,這點(diǎn)需要注意,別把console控制臺(tái)清了;

  我們的原理就是通過界面棧獲取上個(gè)界面,再獲取到上個(gè)界面對(duì)應(yīng)的函數(shù),然后我們通過獲取到上個(gè)界面的函數(shù)來觸發(fā)


更多微信小程序開發(fā)教程,關(guān)注hi小程序。

重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個(gè)小商店

第三部分:如何登錄小商店

第四部分:開店任務(wù)常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)