WeChatウィジェット--一般的なページ値の伝達方法
1681 ワード
レコードウィジェットでよく使われるいくつかのページの値伝達方式
一、storage
2、url伝達オブジェクト形式のパラメータ
伝達が必要なパラメータ形式は、{key,value,key 2:value 2}であると仮定すると、以上のように伝達されてoptionに印刷されるのはobjectタイプであり、
三、ページスタックの値伝達
ウィジェットの
四、appを取得、変更する.jsにおけるdataの値
app.jsにはグローバルなプロパティを保存できます.storageのように
ページのjsには
一、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