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