0
我無法設置的另一個狀態控件的屬性。設置不同狀態的控件的屬性? - Flex的4
最新消息_Display正在根據最新消息狀態。我想設置即使currentState設置爲介紹Latest_News_Display的X財產。但是,當我嘗試使用Latest_News.Latest_News_Display.x = 10時,它返回一個錯誤,說1120:訪問未定義的屬性Latest_News。那麼我該如何去做呢?
我無法設置的另一個狀態控件的屬性。設置不同狀態的控件的屬性? - Flex的4
最新消息_Display正在根據最新消息狀態。我想設置即使currentState設置爲介紹Latest_News_Display的X財產。但是,當我嘗試使用Latest_News.Latest_News_Display.x = 10時,它返回一個錯誤,說1120:訪問未定義的屬性Latest_News。那麼我該如何去做呢?
在您嘗試設置組件時,不能保證在另一個狀態中創建了組件。很難說沒有看到你的代碼,但我猜這是基於你的錯誤的問題。
你基本上必須創建你自己的延遲值設置方法。所以,當您嘗試設置它做這樣的事情:
if(Latest_News_Display){
Latest_News_Display.x = 10
} else {
cachedLatest_News_DisplayX = 10
}
後來聽currentStateChange event,並設置新值,則:
protected function onCurrentStateChange(event:StateChangeEvent):void{
Latest_News_Display.x = cachedLatest_News_DisplayX
}
我還會補充說,基於粗體在你的問題中的項目,看起來你試圖通過名字Latest_News訪問一個州。如果您創建指向特定狀態的局部變量,則可以執行此操作。但是,如果你使用的是MXML,那麼你可能沒有。即便如此,一個狀態基本上只是一組覆蓋範圍,你無法直接訪問該狀態下的組件。
也許這只是你的文章中的一個錯誤,但如果`Latest_News_Display`是你的對象,'x`是你想設置的屬性,`Latest_News`是你想要設置的屬性,那麼語法應該是`Latest_News_Display .x.Latest_News = 10`,即。 `object.property.state = value`。你的帖子目前有`state.object.property = value`,除非你擴展了State類,否則這對我沒有任何意義。 – merv 2011-01-20 19:16:50
嗯,我剛剛習慣了這種模式,從我以前使用的IDE的MainObject.SubObject.Property ... – 2011-01-22 07:16:36