在FLEX應用程序中,我嘗試「重新分派」自定義事件。即component1執行dispatchEvnet(event),component2爲事件註冊一個處理程序,處理程序的唯一函數是dispatch(event)。最後,component3監聽來自component2的事件。我想要做的是類似於「重新拋出」異常的概念(以及類似的原因)。區別在於重新調度在AS3(Flash 10)中似乎不起作用。在IE中,沒有任何反應,並且在FF3中有一個例外,表示在調用Component3中的處理程序時嘗試強制將Event類型強制爲我的CustomEvent時類型強制轉換失敗。在調試器中跟蹤代碼顯示,在調用component3時,事件實際上是一個通用事件,所有我的自定義內容都丟失了。這應該是這樣嗎?在FLEX中重新分派事件
12
A
回答
19
您遇到的問題是由於您的自定義事件中不覆蓋clone()事件造成的。
當事件被重新分配時,它們被克隆和修改。如果你不重寫clone(),你會得到clone()的基本實現,它將返回一個Event。由於事件不能轉換爲您的自定義事件類型,因此會引發運行時錯誤。
從文檔:
在創建自己的自定義事件類,則必須以覆蓋繼承的Event.clone()方法爲它複製自定義類的屬性。如果您沒有設置您在事件子類中添加的所有屬性,那麼當偵聽器處理重新分派的事件時,這些屬性將不會具有正確的值。
0
相關問題
- 1. Flex 3中事件分派的順序是什麼?
- 2. 如何在重製幀事件分派事件
- 3. 如何克隆或重新分派DOM事件?
- 4. 彙總事件源和重新分派事件的最佳方式
- 5. Flex,Flexunit:如何測試事件分派兩次?
- 6. Flex自定義事件分派和視聽堆棧收聽
- 7. 閃光AS3事件分派
- 8. 重新分配OnCellClick事件
- 9. flex datagrid重新分配dataprovider
- 10. 在組件重新呈現時觸發的flex事件?
- 11. IOS xamarin派生類中重寫事件
- 12. Flex 4 Itemrenderer更新事件?
- 13. CQRS/EventStore:如何分派未分派的事件?
- 14. 事件指派
- 15. 重現事件中的更新事件
- 16. 如何訪問可綁定Flex對象的隱式事件分派器?
- 17. 在Corona sdk中創建一個類並從中分派事件?
- 18. 這是事件分派同步嗎?
- 19. java.awt.Robot.waitForIdle()是否等待事件分派?
- 20. Payum - 捕獲時分派事件?
- 21. 將事件分派給.subscribe JavaScript方法
- 22. 關於重新分配事件的jquery
- 23. 事件在派生類
- 24. Flex/AS3收聽從Singleton類派發的事件的問題
- 25. Flex AS3 - 派發事件到ItemRenderer的所有實例
- 26. 捕獲Flash/Flex重繪DisplayObject事件?
- 27. 如何在Paper.JS中手動分派事件?
- 28. 如何在Symfony中手動分派Doctrine/Kernel事件?
- 29. 如何在全局和內部requireJS對象中分派事件?
- 30. 在Adobe AIR中將鼠標事件分派給HTMLLoader Actionscript 3