网友真实露脸自拍10p,成人国产精品秘?久久久按摩,国产精品久久久久久无码不卡,成人免费区一区二区三区

小程序模板網

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

發布時間:2018-12-14 08:44 所屬欄目:小程序開發教程
 
小程序做開發的時候難免需要不同頁面之間的通訊,比如首頁打開新的頁面搜索獲取結果返回到首頁,不同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.js
wx.setStorageSync('refresh', true);
 
// mycenter.js
if (wx.getStorageSync('refresh')) {
  // 做更新操作
  wx.removeStorageSync('refresh');
}
storage 也可以用 globalData 來代替,原理一樣,這里不做展開,兩種辦法都可行,但是就是太笨了,場景復雜起來沒法搞


易優小程序(企業版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.xiuhaier.com/wxmini/doc/course/25016.html 復制鏈接 如需定制請聯系易優客服咨詢:800182392 點擊咨詢
QQ在線咨詢
AI智能客服 ×