2010-06-25 113 views
0

我有一位家長和2個孩子。我試圖將數據從child1傳遞給child2,但不斷收到錯誤消息:1061:通過靜態類型的引用調用可能未定義的方法。無法將數據從兒童傳遞給​​子女

在child1我有以下代碼:

[Bindable] 
public var TestVar:String='sometext'; 

在的child2我想獲得的testvar的值,然後把它作爲一個值通過PHP:

var newTestVar:String = child1.TestVar; 
    if(newTestVar != null){ 
    getResult.token = someService.get_filtered_Paged(newTestVar); 
    } 

    else{ 
    getSecResult.token = someService.get_paged(); 
    } 
搜索MySQL數據庫
+0

你說父母/孩子,你是什麼意思?某些容器的子組件,還是相互繼承的類?此外,它將有助於瞭解如何聲明child1變量(從錯誤消息可能是child1實際上是類的名稱而不是實例,但除非發佈更多內容,否則我們無法知道)。 – phtrivier 2010-06-25 09:04:40

+0

Cutin out ginius 。 – deceze 2010-11-28 04:35:15

回答

-1

@ape是正確的,你應該使靜態或使用MVC注入屬性。

-1

更改public var TestVar:String='sometext';public static var TestVar:String='sometext'; 您正在接收此錯誤,因爲您在靜態上下文中嘗試訪問變量:TestVar(如果尚未將其標記爲靜態)。

-1

你得到這個錯誤是因爲你將child1聲明爲任何child1實際上的超類。 TestVar沒有在那裏定義是自然的。最糟糕的是那個超類是不是動態的,所以你需要訪問與該場:

child1["TestVar"]; 

這不會產生一個編譯錯誤,而如果持有的情況下應該沒有問題,在運行時訪問場child1是正確的。

-1

假設您在MyClass1中定義了TestVar。鑄造child1該類型:

var newTestVar:String = MyClass1(child1).TestVar; 

如果這沒有幫助,請把你的代碼的更大的作用。

相關問題