我想爲多個事件設置一個事件監聽器,具體取決於我想要分別處理它們的事件類型
。從單個監聽器處理多個事件
類似的東西來Swiz framework看到:「從處理多個事件的單一方法」
我有一個像
var toolOptions:UIComponent=ToolOptions.createToolOptions(type);
if (options != null)
{
options.addEventListener(Event.SELECT,toolOptionSelectedHandler);
someViewComponent.addOptions(toolOptions);
}
// handle depending on event type
private function toolOptionSelectedHandler(event:*):void
{
//handle depending on type of event fired
// type cast event depending on type and retrieve VO from event
//and send handle it..
//SomeToolObj.handle(event.VO);
}
在上面toolOptions一段代碼是一個MXML組件,它得到基於
'type'動態創建。
另外哪種類型的事件應該從組件派發事件?例如:Event.SELECT
更確切地說,上述基本上是工具欄所必需的。
當用戶選擇一個工具時,他會顯示一個工具的選項,當他選擇選項時,
工具應該將它們應用於視圖上的對象。
有沒有更好的方法來做同樣的事情?
爲answer..yes THX我想出了非常相似的東西..如果選項是事件的一部分嗎?我對不同的工具有不同的選擇。 – Amitd
由於您的'OptionEvent'氣泡,您可以輕鬆地檢索'toolOptionSelectedHandler'內的實際選項:'var option:MyOption = event.target'。 –
可以將選項放入事件本身嗎?因爲我的版本的optionEvent是非冒泡的..在事件內部聲明瞭一個字段'options'(keyvalue pair)..每個工具選項都可以有自己的type VO? – Amitd