前提: 在小程序中,子组件需要接受父组件传来的2个值A和B,子组件需要同时根据A和B做一些业务处理。
通常,我们可以在properties单独的针对A和B进行监听,但是我们发现,有时候在A中使用B,取不到B值,或在B中使用A,取不到A值。这是为什么呢?其实这个涉及到js事件循环和小程序监听数据的知识。
上图为例:
父组件传入两个值campstatus和isIndex,campstatus为动态数据,isIndex为静态值2。
1、由于campstatus是异步数据,第一次能监听到campstatus的默认值0和isIndex的值2
2、当父组件campstatus数据变为1的时候,子组件能监听到campstatus值发生了变化,但是isIndex的值没有发生变化,所以无法进入isIndex的observer方法里执行相关的业务逻辑。
那么,有没有同时能监测到这两个值的方法呢?所以针对子组件需要同时根据A和B做一些业务处理的情况,我们需要同时监听这两个值变化。只要有一个值发生变化,都会重新处理相关业务。
参考微信开发文档:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/observer.html
小程序组件中监听父组件传来的properties值
最新推荐文章于 2024-08-03 18:21:44 发布