在写微信小程序的时候,为了更好的实现可读性和松耦合结构,我将页面按功能拆分到了各个组件中,但问题来了,父组件如果有异步赋值操作,那个这个值传到子组件就会有问题,我在调试的时候出现一些很奇怪的现象,在控制台把对象展开就有值,不展开就没有值,这是什么鬼,还好小程序有个observers能监听变量的变化,在变量有值的时候执行操作:
比如我要监听detail变量,为了防止多次执行,可加上一个判断,保证只执行一次:
observers: {
'detail': function (detail) {
if(Object.keys(detail).length > 0){
//执行操作
}
}
}
关于监听变量的更多用法:
https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/observer.html
END