如何使用變量更改代碼中的應用程序狀態?當我提供一個靜態字符串時,它工作正常,但沒有變量。Flex 3:如何使用變量更改代碼中的狀態
例如,這個工程: (母公司爲mx.core.Application,).currentState = '歷史'
這並不: (母公司爲mx.core.Application,).currentState = @data
是的,我知道@data正在填充,因爲我打印在一個警告框中。是的,我已經嘗試過 「currentState = @data」 和「currentState = '@data' 可悲的是,他們沒有工作
這是菜單對象:。
<mx:MenuBar id="mnuMain" labelField="@label" itemClick="menuHandler(event);">
<mx:XMLList>
<menuitem label="File">
<menuitem label="Exit" data="exit" />
</menuitem>
<menuitem label="View">
<menuitem label="Home" data="home" />
<menuitem label="Monitor" data="impmon" />
<menuitem label="History" data="history" />
<menuitem label="Tables" data="tables" />
<menuitem label="Schema View" data="schema" />
</menuitem>
</mx:XMLList>
</mx:MenuBar>
這裏是處理程序:
private function menuHandler(event:MenuEvent):void {
var newstate:String;
newstate = @data.toString();
(parent as mx.core.Application).currentState = newstate;
}
哪裏是符號@來自(哪裏?我認爲你需要確保數據是一個位於states數組中的字符串類型的變量。 – Wes 2010-07-28 20:37:50
嘗試event.item。@ data.toString() – JustLogic 2010-07-28 21:18:08