2012-08-12 97 views
1

爲什麼我在arrMonth.push行發現1120: Access of undefined property arrMonth.錯誤以及如何糾正?1120:未定義屬性的訪問

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

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

回答

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> 
+0

哎呀,剛吸了我的時間半天。 – jab 2014-01-20 18:32:43