uni 中 globalData 实现全局变量

小程序有globalData,这是一种简单的全局变量机制。这套机制在uni-app里也可以使用,并且全端通用。

1,onLaunch时,getApp对象还未获取,暂时可以使用this.globalData获取globalData

2,需要把globalData的数据绑定到页面上,可在页面的onShow页面生命周期里进行变量重赋值

3,getApp() 函数用于获取当前应用实例,一般用于获取globalData 。

以下是 App.vue 中定义globalData的相关配置:

<script>  
    export default {  
        globalData: {  
            paySuccess: 1
        },
        methods: {
            // 监听 globalData 全局变量 paySuccess
			watch:function(method,istr){
				var obj = this.globalData
				console.log(obj)
				Object.defineProperty(obj,istr,{
					configurable:true,
					enumerable:true,
					set:function(value){
						this._consumerStatus = value
						method(value)
					},
					get:function(value){
						return this._consumerStatus
					}
				})
			},
            change(){
                getApp().globalData.paySuccess = 2
            },
        }
    }  
</script>

以下是引入全局变量使用,并接收全局监听:

<script>
    const App = getApp()
    export default {
        data() {},
        onLoad() {
            App.watch(this.getPaySuccess,'paySuccess')  // paySuccess是globalData中定义的属性
        },
        methods: {
            getPaySuccess(val){
				console.log('输出变化的值',val)
			},
        }
    }
</script>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值