1120:访问未定义的属性

时间:2012-08-12 13:38:27

标签: actionscript-3 flex actionscript mxml

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

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

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

1 个答案:

答案 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>