6月17日
今天遇到一个这样的问题.一个flex组件的属性总报null错误。
我是在这个组件的createcomplete事件里将它初始化的。
后来发现问题就出在这里。因为createcomplete也是一个
事件,所以这里产生了异步处理。所以后面接着调用组件的
属性时会出错。
另外,createcomplete是在“当组件完成其构建、属性处理、测量、布置和绘制时分派。 ”
我理解就是必须这个组件添加到舞台的时候,它才会执行。
所以,它不能等同于AS组件的构造函数。
之后,我尝试在这个组件里面也添加一个和组件名相同的构造函数,
报错:不能添加同名构造函数。上网查了一下,flex组件不支持构造
函数。这样的话。只能在定义属性的时候初始化一下,或者在用组件
属性之前为这个属性赋值。
这里想到一个问题:
在定义属性的时候初始化和在构造函数里面初始化属性,有什么区别呢,
那个更好一些?目前能想到这些,不确定是否正确。
1、即使在定义属性的时候初始化,它也只属于这个实例。
2、对于值类型,在构造函数里面会方便一些。
3、对于值类型,目前想不到有什么区别,或者那个选择更有好处。
这里可能还是理解有问题。需要深刻理解这个问题。