在开发小程序的过程中遇到需要监听值变化,从而执行下一步操作。
某个页面需要监听参数变化,需要在app.js中设置监听器
watch:function(content,obj){
Object.keys(obj).forEach(key => {
this.observer(content.data,key,content.data[key],function(value){
obj[key].call(content,value)
})
})
},
// 监听属性,并执行监听函数
observer: function (data, key, val, fn) {
Object.defineProperty(data, key, {
configurable: true,
enumerable: true,
get: function () {
return val
},
set: function (newVal) {
if (newVal === val) return
fn && fn(newVal)
val = newVal
},
})
},
单页面监听 在
onLoad: function(options) {
// 调用监听器,监听数据变化
app.watch(this, {
ractivityShow: function (newVal) {
if(newVal){
this.setData({
chooseTab: 0
})
}
}
})
}