我有一個模塊的應用程序。每個模塊都是完全獨立的。他們之間沒有共享事件或其他任何事情。在每個模塊中都有一個DataGrid和一個ContextMenu。所選數據的詳細信息在一個彈出窗口中打開。像往常一樣,模塊由loalEventMap和presentationModel控制。配合:無法設置屬性模型
如果我立即關閉一個彈出窗口並再次打開,所有工作正常。但是,如果我改變,在彈出的一些數據,將其關閉,卸載我的模塊,再加載,然後再次打開彈出,伴侶引發以下錯誤:
- ERROR: Unable to set property model on CDBInputMask because is not type CDBPresentationModel. Provided value was of type CDBPresentationModel
- TARGET: CDBInputMask
- TARGET KEY: model
- TAG: PropertyInjector
- FILE: CDBLocalEventMap
- STACK TRACE: TypeError: Error #1034: Type Coercion failed: cannot convert com.mycomp.myMod.ui.presenters::[email protected] to com.mycomp.myMod.ui.presenters.CDBPresentationModel. at com.asfusion.mate.core::Binder/bind()[/Users/Nahuel 1/Documents/Flex Builder 3/Mate_trunk/src/com/asfusion/mate/core/Binder.as:90] at com.asfusion.mate.actions::PropertyInjector/run()[/Users/Nahuel 1/Documents/Flex Builder 3/Mate_trunk/src/com/asfusion/mate/actions/PropertyInjector.as:205]
我的實現:
打開彈出窗口:
inputMask = new CDBInputMask();
PopUpManager.addPopUp(inputMask,this,true);
關閉彈出窗口:
PopUpManager.removePopUp(inputMask);
inputMask = null; 注射器:
<Injectors target="{CDBInputMask}" debug="true" dispatcherType="global" >
在伴侶,論壇,我發現有一個類似的線程,但不完全相同,問題。這裏的主持人意味着它看起來像試圖在模塊中兩次實例化一個類。在我的情況下,PopUpManager是一個單例類。所以它看起來像是同樣的問題。第一次通過所有的工作正常,第二次通過它崩潰,所有,因爲該類已被注入。
我試圖使用跟蹤調試器來查看如何清除彈出或清除模塊。但我還沒有找到解決方案。如果您需要更多代碼,我會發布它。
在此先感謝。 Frank