成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

小程序不同頁(yè)面之間通訊的解決方案

Kerr1Gan / 2053人閱讀

摘要:小程序做開(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

相關(guān)文章

  • 深入理解程序數(shù)據(jù)——程序探索

    摘要:傳輸時(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é)得看看文...

    Jochen 評(píng)論0 收藏0
  • 自制微信程序通訊JS

    摘要:自制微信小程序通訊起因現(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ò)父子...

    keke 評(píng)論0 收藏0
  • 程序頁(yè)面之間通訊利器 - nsevent

    摘要:這個(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...

    Eric 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<