WeChatウィジェット--一般的なページ値の伝達方法

1681 ワード

レコードウィジェットでよく使われるいくつかのページの値伝達方式
一、storage
wx.setStorage({
     key: "key",
     data: value
 })
getStorageコールバック方式でdata値を取得したり、wx.getStorageSync(key)でkey対応のdata値####を同期して取得したりすることもよくあります#####1、url伝達文字列接合伝達key=value形式のパラメータwx.navigateTo({ url: '/pages/index/index?id=1111111111&...', })ジャンプ後のページのonLoadライフサイクル関数でoptionsパラメータを受け取ることができます.url伝達id値はconsole.log(options.id)で取得できます
2、url伝達オブジェクト形式のパラメータ
伝達が必要なパラメータ形式は、{key,value,key 2:value 2}であると仮定すると、以上のように伝達されてoptionに印刷されるのはobjectタイプであり、([object object])であり、パラメータを実際に取得することはできない.したがって、JSON.stringify()を用いてjson文字列に変換し、以上のようにパラメータを渡す必要がある.ページでoptionの値を取得するには、JSON.parse()を介して元のjsonフォーマットに変換する必要があります.
三、ページスタックの値伝達
ウィジェットのwx.navigateBack()メソッドは上位ページに戻ることができます
var pages = getCurrentPages(); //      
 var Page = pages[pages.length - 1]; //   
 var prevPage = pages[pages.length - 2]; //     
prevPage.setData({ key: value})によって前ページのdata内容を変更することができ、keyは前ページのdataの値であり、valueは伝達(変更)が必要な値でwx.navigateBack({delta: 1})によって上位ページに戻る
四、appを取得、変更する.jsにおけるdataの値
app.jsにはグローバルなプロパティを保存できます.storageのようにglobalDataはグローバルなプロパティで、宣言されたdata値はすべてのページで使用できます.シーンの使用、ユーザー情報の保存、ページのリフレッシュの制御
globalData: {
  userInfo: null
}

ページのjsにはconst app = getApp()が必要です.globalDataのuserInfoの値をapp.globalData.userInfoで取得し、直接値を割り当てることで変更できます.app.globalData.userInfo= 'haha'転載先:https://www.cnblogs.com/sevenbreey/p/10214345.html