小程序开之发app.js中存值,拿值,修改值(一)

你1.app.js

写全局js的地方,可以当成仓库来用使用方法在app.js中定义一个对象比如:


当你需要在其他页面使用时只需在需要使用的子页面中使用

const app = getApp();

通过app.globalData.key

key代表你在全局globalData中定义的变量

如果需要修改全局里定义的变量,不能直接在app.js通过生命周期去直接改globalData里的值,可以在操作全局值的js文件中的data里声明一个值,让他等于全局里你声明的值也就是app.globalData.key,之后你可以在你操作全局的js中变量的js文件中使用:

this.setData({

  '你在data中定义的值(也就是你使用全局变量定义的值)': value

})

其中value为你想要修改的值

!!!但是这样是并不能修改全局里的值的,你修改的只是你操作全局变量js中从全局的app.js中拿过来你定义的值,要想修改全局的值必须使用

app.glovalData.key = value;

 因为我们使用 this.setData赋值时,this的执行上下文是page本身,其setData也只能修改当前操作全局变量js中的js中data里面的值,这也就是我们为什么不能在页面中使用 this.setData修改全局变量的值的原因了。

this.setData({

'你在data中定义的值(也就是你使用全局变量定义的值)': value

})

在下面加一条app.glovalData.key = value;就可以了

你可能感兴趣的:(小程序开之发app.js中存值,拿值,修改值(一))