1120:访问未定义的属性

Nat*_*pos 1 apache-flex actionscript mxml actionscript-3

为什么我1120: Access of undefined property arrMonth.在线上出错arrMonth.push并如何纠正?

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

        arrMonth.push({label: "January"});
    ]]>
</fx:Script>
Run Code Online (Sandbox Code Playgroud)

RIA*_*tar 5

出现该错误的原因是您的逻辑(push语句)不在方法内部,因此它被认为是在类级别(即静态)而不是在实例级别.

这意味着有两种方法可以解决它:

1 /使变量也是静态的(我怀疑这不是你想要的,但它会修复错误).

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

    arrMonth.push({label: "January"});
]]>
</fx:Script>
Run Code Online (Sandbox Code Playgroud)

2 /将逻辑放在一个方法中,例如:

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

    override protected function initializationComplete():void {
        super.initializationComplete();
        arrMonth.push({label: "January"});
    }
]]>
</fx:Script>
Run Code Online (Sandbox Code Playgroud)