Egret社区
1银子
最近遇到了个奇怪的问题. 我有 A和B 两个自定义组件,A组件里面嵌套了组件B。
我在A里面监听了服务端的推送事件,服务端只要有数据推送就更改B里面的属性 b1 。 可现在是更改b1属性的时候. 报undefined.
后来我更改b1属性所属的方法里加上了setTimeout延时3秒更改属性值。这个时候没报undefined了。 这是为什么呢? 该怎么解决.

分享到 :
0 人收藏

4 个回复

倒序浏览
想的比长得美  登堂入室 | 2019-2-3 18:35:49
能否提供一下伪代码
siluo123  登堂入室 | 2019-2-11 13:58:23
你先打个断点看下是哪个 是undefined。推测可能是你在改变组件B的b1属性的时候 组件B还没有实例化完毕。然后加延迟只是给了时间去实例化而已。
lori  登堂入室 | 2019-2-14 11:32:19
siluo123 发表于 2019-2-11 13:58
你先打个断点看下是哪个 是undefined。推测可能是你在改变组件B的b1属性的时候 组件B还没有实例化完毕。然 ...

问题原因是这么个理儿。可是解决起来就麻烦了? 大神有解决方案么
gamedaybyday  初窥堂奥 | 2019-2-14 13:27:18
1  childrenCreated组件创建完毕后去找B
2 我有时就用延迟50ms去执行
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2019 Comsenz Inc.

返回顶部