父组件的值是异步获取的,子组件要通过监听来取值

在写微信小程序的时候,为了更好的实现可读性和松耦合结构,我将页面按功能拆分到了各个组件中,但问题来了,父组件如果有异步赋值操作,那个这个值传到子组件就会有问题,我在调试的时候出现一些很奇怪的现象,在控制台把对象展开就有值,不展开就没有值,这是什么鬼,还好小程序有个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

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