国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

詳解小程序不同頁面之間通訊的解決方案

2020-03-21 16:06:23
字體:
來源:轉載
供稿:網友

小程序做開發的時候難免需要不同頁面之間的通訊,比如首頁打開新的頁面搜索獲取結果返回到首頁,不同tab頁面之間的數據交互等等。于是做了以下總結

當前頁面打開新的頁面

打開新的頁面可以通過 navigator 組件來實現,通過url傳參來實現,例如

<navigator url="../search/search?id=123" open-type="redirect">搜索</navigator>

在新的頁面 onLoad 事件可以拿到傳過來的參數 options

onLoad: function(options) { console.log(options.id);}

新的頁面回傳數據到當前頁面

在當前頁面定義一個方法

searchRet(results) { console.log(results);}

在搜索頁面獲取到的結果,由于小程序頁面是通過棧來存儲的,所以可以通過 getCurrentPages() 獲取獲取當前頁面棧的實例,第一個元素為首頁,最后一個元素為當前頁面

let pages = getCurrentPages();let homePage = pages[pages.length - 2];if (homePage) { homePage.searchRet(results);}

生命周期和storage

通過 wx.setStorageSync() 方法可以在本地存儲數據,在 page 的 onShow 回調里獲取 storage 的值后做相應的處理,例如

// index.jswx.setStorageSync('refresh', true);// mycenter.jsif (wx.getStorageSync('refresh')) { // 做更新操作 wx.removeStorageSync('refresh');}

storage 也可以用 globalData 來代替,原理一樣,這里不做展開,兩種辦法都可行,但是就是太笨了,場景復雜起來沒法搞

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江油市| 通道| 长顺县| 仁怀市| 永清县| 广南县| 霍林郭勒市| 通榆县| 平阳县| 沂南县| 临沂市| 万源市| 武平县| 乡宁县| 裕民县| 德格县| 鹤岗市| 修文县| 滕州市| 黄龙县| 铜川市| 普安县| 武威市| 玉林市| 揭东县| 河源市| 运城市| 北流市| 南部县| 怀柔区| 金堂县| 南乐县| 黄龙县| 阳曲县| 孝感市| 崇礼县| 民乐县| 渭源县| 富源县| 营山县| 双柏县|