为什么我在1120: Access of undefined property arrMonth.
行遇到arrMonth.push
错误以及如何纠正错误?
<fx:Script>
<![CDATA[
[Bindable]
public var arrMonth:Array = new Array();
arrMonth.push({label: "January"});
]]>
</fx:Script>
答案 0 :(得分:5)
该错误的原因是您的逻辑(push
语句)不在方法内部,因此它被认为是在类级别(即静态)而不是在实例级别。
这意味着有两种解决方法:
1 /使变量也是静态的(我怀疑这不是你想要的,但它会修复错误)。
<fx:Script>
<![CDATA[
public static var arrMonth:Array = new Array();
arrMonth.push({label: "January"});
]]>
</fx:Script>
2 /将逻辑放在方法中,例如:
<fx:Script>
<![CDATA[
[Bindable]
public var arrMonth:Array = new Array();
override protected function initializationComplete():void {
super.initializationComplete();
arrMonth.push({label: "January"});
}
]]>
</fx:Script>