1

为什么我1120: Access of undefined property arrMonth.在线路上遇到错误arrMonth.push以及如何纠正它?

<fx:Script>
    <![CDATA[
        [Bindable]
        public var arrMonth:Array = new Array();

        arrMonth.push({label: "January"});
    ]]>
</fx:Script>
4

1 回答 1

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>
于 2012-08-12T15:02:01.573 回答