Место, где вы, скорее всего, захотите получить доступ к этому свойству, будет находиться во время настройки компонента и создания его дочерних элементов, поскольку "creationComplete" должен быть уже после того, как вы это сделали :)
Для этого переопределите метод createChildren (). Кроме того, вы, вероятно, также захотите создать для него сеттер (или, по крайней мере, привязать его) для перехвата изменений.
Пример:
package {
import flash.events.Event;
public class Board extends Canvas {
/** clever ASDoc comment goes here */
[Bindable("boardSizeChanged")]
[Inspectable(category="General", defaultValue="")]
var _boardSize: Number;
public function get boardSize(): Number {
return _boardSize;
}
public function set boardSize(value: Number): void {
if (_boardSize == value) return;
_boardSize = value;
// do something when boardSize changes, e.g. update child components
trace("Boardsize is now: " + value);
dispatchEvent(new Event("boardSizeChanged"));
}
public function Board() {
super();
}
override protected function createChildren(): void {
super.createChildren();
// create your own children, using the boardSize property (this uses the getter function)
trace("Boardsize: " + boardSize);
}
}}
Обратите внимание, что в этом примере set boardSize () вызывается до createChildren - поэтому, если вы используете boardSize для изменения своих детей, вы должны убедиться, что они действительно уже существуют в этом установщике.