说明:下图为button绑定的方法,start ()函数里初始化了 this.ios = []; 数组,此时在点击方法里 push 了一个对象。。此时算正常流程
这图也同样为 button 绑定的一个方法,不过此方法为打印 this.ios,这也没问题;
跑起来后,问题就来了,下图为打印出来的数据:
对象明明就已经push进去了,并且也有打印,可是当点击另一button打印出来时却为空的数组??
这就莫名其妙了,郁闷了好几个小时,有没有大神能一眼看出来的?求解…
说明:下图为button绑定的方法,start ()函数里初始化了 this.ios = []; 数组,此时在点击方法里 push 了一个对象。。此时算正常流程
这图也同样为 button 绑定的一个方法,不过此方法为打印 this.ios,这也没问题;
跑起来后,问题就来了,下图为打印出来的数据:
对象明明就已经push进去了,并且也有打印,可是当点击另一button打印出来时却为空的数组??
这就莫名其妙了,郁闷了好几个小时,有没有大神能一眼看出来的?求解…
没有人愿意帮看看吗


有可能是this.ios在两个地方 this不同 不过应该不会出现这种问题 你可以试试打印一下this 目前只能想到这种可能性
找你同事帮忙调试一下呗
我测试了没问题,你这个应该就是this指向错误了,不同的this
说明一下: 编译的时候 start () 函数打印了两次,一次 Prefab 为空,而下一次却有值
当编译完时,我打印了一下当前的 this.berNode 数组时为空;而全局变量里 cc.LRD.BetNode 却有东西,因为当时已经在 start () 函数里赋值过了;
现在的一个问题是: 当前的 this.berNode 数组对象为何为空? 是否哪里操作不当。。??
this的指向不对?
在一个类里的,这个类没有被调用过
感觉你这个脚本挂了两次,start都走两次,你检查下。
第一次挂的地方BetNode没给值,第二次挂的地方给了
为什么非要用star回调来初始化对象尼?你写在属性或者onload里面不是就没这些问题了?
start 回调函数会在组件第一次激活前,也就是第一次执行 update 之前触发。start 通常用于初始化一些中间状态的数据,这些数据可能在 update 时会发生改变,并且被频繁的 enable 和 disable。
非常感谢,我知道问题所在了


非常感谢,我知道问题所在了

啥问题啊?说出问题所在啊
this的指向问题(非常感谢)
脚本挂在不同节点上,this指向是不一样的