微信小程序頁面之間傳參

微信小程序頁面之間的傳參方法有四種

1.頁面url傳參
2.data-屬性傳參
3.緩存?zhèn)鲄?/strong>
4.全局變量傳參

1.頁面url傳參
navigator標(biāo)簽里面設(shè)置url后面用?加上key=value鍵值對模式傳參,可以綁定動態(tài)數(shù)據(jù)

<!-- pageA傳遞參數(shù) -->
<navigator url="../article/article?articleID=3">頁面url傳參</navigator>
//pageB接受參數(shù)
onLoad: function (options) {
    this.setData({
     articleID:options.articleID           //articleID問pageB頁面變量
      
    })
  },

2.data-屬性傳參
通過data-屬性設(shè)置產(chǎn)生,在通過url傳遞參數(shù),其本質(zhì)還是通過url傳參

<!-- pageA頁面設(shè)置 -->
  <view wx:for='{{articles}}' wx:key='index'>
    <text bindtap="goArticle" data-item='{{item}}'>{{item.title}}</text>
  </view>
//pageA傳遞參數(shù)
  goArticle:function(event){
    var item=event.currentTarget.dataset.item;
    wx.navigateTo({
      url: "../article/article?id="+item.id+"&title="+item.title,
    })
  },
//pageB接受參數(shù)
onLoad: function (options) {
    this.setData({
     articleID:options.id,    
     atricleTitle:options.title      
    })
  },

備注:url傳參和data-屬性傳參不能同時使用,否則后設(shè)置的生效;

3,緩存?zhèn)鲄?br> 小程序緩存分為異步和同步,一般使用同步;方法類似于h5的本地存儲;

 //緩存?zhèn)鲄?onLoad:function(){
   wx.setStorageSync("title", this.data.title)
}
   
  onLoad: function (options) {
    this.setData({
      motto: wx.getStorageSync("title"),
      
    })

4.全局變量

//1.在app.js中設(shè)globalData:{key:value,...}
  globalData: {
    userInfo: null
  }
//2.頁面定義var app=getApp()
//3.頁面調(diào)用變量,app.globalData.key
const app = getApp()
  getUserInfo: function() {
    this.setData({
      userInfo: app.globalData.userInfo,
      hasUserInfo: true
    })
  }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容