小程序補(bǔ)坑路上的一些小小體會: 一. 跨頁面?zhèn)髦? 1 . 用 navigator標(biāo)簽傳值或 wx.navigator, 比如: 這里將good_id=16 參數(shù)傳入detail頁面, 然后detail頁面的 onload方法內(nèi)接收 如果需要傳輸多個參數(shù),navigator用&鏈接即可 this.setData則: 如果要傳 數(shù)組,字典等復(fù)雜類型, 要先用 JSON.stringify() 轉(zhuǎn)成字符串傳遞. 注 : 如果轉(zhuǎn)化的字符串中 有"?"這個符號, 則只會傳遞"?"以前的字符串, 這個問題我猜想可能是小程序內(nèi)部的路由處理 對這個"?"敏感吧 好, 這是第一種 依靠跳轉(zhuǎn)的url帶參數(shù)傳值 2 . 用getCurrentPages(); 獲取棧中全部頁面的, 然后把數(shù)據(jù)寫入相應(yīng)頁面 這里可以穿字符串,也可以傳數(shù)組 這樣就把 address 傳遞并接受了 注 : 這個方法適合 往后面?zhèn)髦?即已經(jīng)存在的頁面), 這樣才能在棧中找到并主動寫入數(shù)據(jù), 且 一定要在 onshow() 方法中接受, 因為再次返回只執(zhí)行onshow()方法. 3 . 寫入本地, 跨頁面在取出來 wx.setStorage/wx.getStorage等, 小程序中對寫入本地數(shù)據(jù) 封裝了很多方法, 各有側(cè)重, 這里就不多說了 4 . 把 數(shù)據(jù)聲明為全局變量 var detail = getApp().detail; 可在任何頁面獲取 二. 頁內(nèi)傳值 1 . 設(shè)置id的方法標(biāo)識跳轉(zhuǎn)后傳遞后的參數(shù) 在bindtap定義的點擊方法 swiperTap : function(e) ; 中獲取, var id = e.currentTarget.id; 2 . 設(shè)置 data-xxx 的方法來標(biāo)識要傳遞的值 注 : 這里 data-index="{{index}}" 里的 {{index}} 是有效的, 在用wx-for 渲染視圖層時, index 代表點擊的下標(biāo). 在bindtap定義的點擊方法 swiperTap : function(e) ; 中獲取, 即 var index = e.currentTarget.dataset.index; 其他的參數(shù)取出也如此, var type = e.currentTarget.dataset.type; 5. form表單和input輸入框 |
工作日 8:30-12:00 14:30-18:00
周六及部分節(jié)假日提供值班服務(wù)