在uniapp中监听globalData中的值变化

1、先再app.vue 中定义一个全局数据对象globalData,再对象里定义好相应的属性与属性值

globalData:{
    ly_s:false,//蓝牙搜索状态
},
methods:{
     watch:function(method,istr){
        var obj=this.globalData
        console.log(obj)
        Object.defineProperty(obj,istr,{
        configurable:true,
        enumerable:true,
        set:function(value){
            this._consumerGoodsStatus=value
            method(value)
        },
        get:function(value){
                    return this._consumerGoodsStatus
                }
            })
        }
}

 

2、在需要用到的页面中引入


 
onLoad() {
    getApp().watch(this.ly_s_f,'ly_s'); //ly_s是globalData中定义的属性
},
methods:{
    ly_s_f(val){
    console.log(
'输出变化的值',val)
   }
}

 

posted @ 2024-03-25 16:14  zhang_you_wu  阅读(184)  评论(0编辑  收藏  举报