uni-app全局变量实现手段可以算是各式各样,今天只针对Vue.prototyp与globalData实现全局变量的注意事项。
一般数据比较小时,我们会用Vue.prototyp与globalData挂载与存储全局变量,在页面中调用及其更改。但是,有时,我们需要从App.vue中进行值的更改,比如接收另一个小程序传过来的信息,此时只能在App.vue中的onLaunch()或onShow()方法中进行值的更改,但是有个坑:
一、挂载 Vue.prototype,globalData不同之处
1、 两者不同:
在App.vue中更改了全局变量值,在页面中进行调用时~
通过Vue.prototype挂载的变量,更改并没有生效,通过方法调用更改值也一样无效
通过globalData声明的变量,更改生效
2、相同点:两者在页面中进行更改时,在页面中调用都会生效。
二、下面yiyi说明与分析:
1、初始化数据
在main.js中初始化数据:$val1、$valb
Vue.prototype.$vala = 1
Vue.prototype.$valb = 1
Vue.prototype.methodA = function(val){
this.$valb = val
}
在App.vue中初始化数据:vala
globalData:{
vala:1
},
<