當前位置:
首頁 > 科技 > 開發|如何在小程序頁面之間,傳遞數據和變數?

開發|如何在小程序頁面之間,傳遞數據和變數?

文 | Angeladaddy

最近組裡開發小程序,遇到了一個困擾前端很長時間的話題:頁面之間,如何傳遞數據和變數?

剛開始,我們選擇使用路徑傳參解決。但是眾所周知,各瀏覽器 HTTP Get 請求 URL 最大長度並不相同,大部分瀏覽器只能接受 7000 個字元的數據。

所以,我們覺得這個方式並不靠譜。

研究了一下官網,發現有兩種方式可以「比較優雅」地完成這個任務。

使用全局變數

在項目 app.js中定義globalData(全局變數)。

App({
globalData:{
userInfo:"angeladaddy"
}
});

在需要的地方,我們可以隨意調用這個全局變數。

getGlobalVar:function{
var that=this;
that.setData({
globalvar_str:JSON.stringify(getApp.globalData)
})
}

當然,賦值也是沒問題的。

onLoad:function(options){
getApp.globalData.userInfo+=" is an awesome man";
},

來試試效果:

使用模板

在官方文檔中,模板的使用需要先定義一個模板,要用到 name屬性。

接著,使用模板和 is屬性,聲明需要的使用的模板,然後將模板所需要的data傳入。比如這樣: