在page中? 我們使用 this.setData賦值時示损,this的執(zhí)行上下文是page本身渗磅,其setData也只能修改當前page中data里面的值,這也就是我們?yōu)槭裁床荒茉陧撁嬷惺褂?this.setData修改全局變量的值的原因了检访。
解決方法如下:::
app.js:
? ? ? ?App({
? ? ? ? ? ? ? ? ? ? ? globaldata:{
? ? ? ? ? ? ? ? ? ? ? ? ? ????????? z :1,// 用于測試的全局變量
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? })
page中:
const app = getApp();
Page({
? ? data: {
? ? ? ? fulldata: app.globaldata, // 拿到全局變量
? ? },
? ? changeData: function(){
????????app.globaldata.z= 2;
})
app.data.globaldata = 2;? 即可修改全局變量的值始鱼,也可在當前頁面全局變量值動態(tài)更新。