给微信小程序添加变量监听方法

因为小程序是基于事件驱动模型的,所以有时候会有这样的需求,当某个变量值发生变化的时候,我们要执行一些逻辑,在自定义组件里面有server方法可以很轻松实现,但我现在要在page里面实现,现在微信小程序还没有这个功能,相信以后的版本肯定会加入这样的功能,下面我们来实现这个功能:

用ES6的方法,实现监听globalData里的变量,比如我要监听openid这个变量,在app.js里添加以下方法

watch: function(callback){
    let obj = this.globalData
    Object.defineProperty(obj, 'openid', {
        configurable: true,
        enumerable: true,
        set: function (value) {
            callback(value)
        }
    }
)}

然后在onLoad里面添加以下方法:

getApp().watch(function(v){
    console.log(v)
})

END

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。