簡體   English   中英

如何創建可以在整個組件中共享的實例模型(可以多次創建)

[英]How to create instance model that can be shared throughout a component (which can be created more than once)

我正在嘗試創建一個模塊化結構,該結構最終將存在於另一個actionscript / flex應用程序中。 我在外部應用程序中使用cairngorm,我想在內部應用程序中創建此新組件的多個實例。 由於模型的單一性,Cairngorm無法用於創建多個重復組件。

我正在創建的組件是偽視頻查看器。 我想在這個組件實例中有一個共享模型。 我正在努力在組件中共享一個模型。 如果使用單例模式,則不能創建該組件的多個實例。 如果創建一個實例並讓組件確保只有一個實例,那么我很難將模型輕松傳遞給所有需要它的組件。 這特別困難,因為.mxml組件無法在模型中傳遞構造函數。

我正在考慮讓每個組件向其父組件詢問模塊,直到一個組件有了它為止。 這將要求每個組件都實現該接口,並且讓我感到有些討厭。

有誰知道一種在組件內創建實例變量的方法,以便可以創建多個組件,而且可以在整個組件中輕松共享該模型?

最新的Swiz版本( 1.0.0 )提供了此問題的答案。 現在,您可以在一個項目中創建多個Swiz實例,並設置父子關系。 在模塊支持頁面上,他們對其做了最好的解釋( http://swizframework.jira.com/wiki/display/SWIZ/Module+Support ),但實際上您不必使用模塊,任何父子關系都可以使用。

請記住,為了防止每個事件處理程序對子視圖中的事件做出響應,您需要將EventHandler范圍設置為local,例如:

[EventHandler( event="TestEvent.SAVE_USER_REQUESTED", scope="local")]
public function handleEvent(event:Event):void {
    //do stuff
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM