摘要:小程序做開發(fā)的時候難免需要不同頁面之間的通訊,比如首頁打開新的頁面搜索獲取結(jié)果返回到首頁,不同頁面之間的數(shù)據(jù)交互等等。
小程序做開發(fā)的時候難免需要不同頁面之間的通訊,比如首頁打開新的頁面搜索獲取結(jié)果返回到首頁,不同tab頁面之間的數(shù)據(jù)交互等等。于是做了以下總結(jié)
當前頁面打開新的頁面打開新的頁面可以通過 navigator 組件來實現(xiàn),通過url傳參來實現(xiàn),例如
搜索
在新的頁面 onLoad 事件可以拿到傳過來的參數(shù) options
onLoad: function(options) { console.log(options.id); }新的頁面回傳數(shù)據(jù)到當前頁面
在當前頁面定義一個方法
searchRet(results) { console.log(results); }
在搜索頁面獲取到的結(jié)果,由于小程序頁面是通過棧來存儲的,所以可以通過 getCurrentPages() 獲取獲取當前頁面棧的實例,第一個元素為首頁,最后一個元素為當前頁面
let pages = getCurrentPages(); let homePage = pages[pages.length - 2]; if (homePage) { homePage.searchRet(results); }生命周期和storage
通過 wx.setStorageSync() 方法可以在本地存儲數(shù)據(jù),在 page 的 onShow 回調(diào)里獲取 storage 的值后做相應(yīng)的處理,例如
// index.js wx.setStorageSync("refresh", true); // mycenter.js if (wx.getStorageSync("refresh")) { // 做更新操作 wx.removeStorageSync("refresh"); }
storage 也可以用 globalData 來代替,原理一樣,這里不做展開,兩種辦法都可行,但是就是太笨了,場景復(fù)雜起來沒法搞
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/108800.html
摘要:傳輸時間與數(shù)據(jù)量大體上呈現(xiàn)正相關(guān)關(guān)系,傳輸過大的數(shù)據(jù)將使這一時間顯著增加。小程序不管從組件化開發(fā)調(diào)試發(fā)布灰度回滾上報統(tǒng)計監(jiān)控和最近的云能力都非常完善,小程序的工程化簡直就是前端的典范。 研究背景 上一篇文章了解了小程序的生命周期,接下來研究一下數(shù)據(jù)通信,我覺得清楚了生命周期和數(shù)據(jù)通信,就能對整個程序有一定的把控能力,定位問題和解決問題的能力將大幅提高我剛開始擼小程序的時候,覺得看看文...
摘要:自制微信小程序通訊起因現(xiàn)在微信小程序開發(fā)基本會使用到組件的開發(fā)。隨著組件的不斷增加,使得組件之間的通訊越發(fā)頻繁。這個能使得我們在組件和頁面之間隨意通訊,您只需要按照規(guī)范注冊,使用即可,可以幫你建立任意兩個組件之間的通信通道。 自制微信小程序通訊JS 起因 現(xiàn)在微信小程序開發(fā)基本會使用到組件的開發(fā)。隨著組件的不斷增加,使得組件之間的通訊越發(fā)頻繁。然后,微信小程序中組件之前通訊必須通過父子...
摘要:這個模塊主要的原因是用在微信開發(fā)時候監(jiān)聽兩個頁面之間的狀態(tài)交互比如和兩個頁面頁面有收藏項也有同樣的收藏項,監(jiān)聽同一個事件收藏事件改變刷新列表數(shù)據(jù)那么在頁面操作收藏事件會觸發(fā)自身頁面回調(diào),這時候就派上用場,在這樣聲明收藏事件改變刷新列表數(shù)據(jù)在 這個模塊主要的原因是用在微信開發(fā)時候監(jiān)聽兩個頁面之間的狀態(tài)交互 比如 pageA 和 pageB 兩個頁面, pageA 頁面有收藏項 pageB...
閱讀 3057·2021-09-10 10:50
閱讀 3245·2019-08-30 14:19
閱讀 3577·2019-08-29 17:31
閱讀 3392·2019-08-29 16:43
閱讀 2261·2019-08-29 14:05
閱讀 2156·2019-08-29 13:17
閱讀 2106·2019-08-26 13:25
閱讀 1831·2019-08-26 12:20