最近发现一个问题,我在nodeA上绑定了一个脚本cA,然后cA上引用了节点b,b上绑定了一个脚本cB,这个时候,我在cA脚本的onload方法中通过p.getComponent(‘cB’)获取到节点b上的脚本cB,然后,在cB上有2个方法f1和f2,f1是在cB的onload方法中调用的。我在创建了节点p之后,获取到了脚本cB,这个时候,我要调用f2方法,然后我发现出现了下面的问题,f2方法先于cB.onload执行,也就先于f1执行。
那么问题来了,按照官方的说法,在脚本声明周期中,onload是最先执行的。但是,在这里,并没有最先执行,这是怎么回事???
实例如下:
cA脚本如下:
onLoad() {
let cB = this.p.getComponent(‘cB’);
cB.f2();
},
cB脚本如下:
onLoad() {
this.f1();
},
f1() {
console.log(‘f1’);
},
f2() {
console.log(‘f2’);
},
打印结果为:
f2
f1
这是为什么?求官方大大帮忙!!!