Cómo crear el modelo de instancia que puede ser compartido a lo largo de un componente (que se puede crear más de una vez)

StackOverflow https://stackoverflow.com/questions/2874429

Pregunta

Estoy tratando de crear una estructura modular que con el tiempo se viva dentro de otro ActionScript / Flex aplicación. Estoy usando cairngorm en la aplicación fuera y me gustaría crear más de una instancia de este nuevo componente en la aplicación en el interior. Cairngorm no funciona para la creación de múltiples componentes duplicados debido a la naturaleza del producto único modelo.

El componente estoy creando es un visor de pseudo vídeo. Me gustaría tener un modelo compartido dentro de esta instancia de componente. Estoy luchando con una forma de compartir un modelo único dentro del componente. Si utilizo el patrón Singleton, no puedo crear más de una instancia de este componente. Si creo una instancia y dejar la marca de componentes que hay sólo uno, entonces no tengo problemas para pasar del modelo fácilmente a todos los componentes que lo deseen. Esto es especialmente difícil porque los componentes .mxml no pueden tener un constructor dónde iba a pasar en el modelo.

Yo estaba pensando en tener cada componente pedir su matriz para el módulo hasta que un componente tenía. Para ello sería necesario que cada componente tiene que implementa la interfaz y se siente un poco repulsivo para mí.

¿Alguien sabe una manera de crear una variable de instancia dentro de un componente para que varios componentes pueden ser crear, sino que también comparten ese modelo fácilmente a lo largo de ese componente?

¿Fue útil?

Solución

La liberación Swiz más reciente ( 1.0.0 ) tiene la respuesta a esta pregunta. Ahora puede crear más de una instancia de Swiz en un proyecto y la configuración de una relación padre-hijo. La página de soporte de módulo es donde explican lo mejor ( http: //swizframework.jira. com / wiki / pantalla / Swiz / Módulo + Apoyo), pero que en realidad no tienen que utilizar módulos, cualquier relación padre-hijo va a funcionar.

Recuerde que con el fin de mantener a cada controlador de eventos de responder a un evento desde un punto de vista del niño, es necesario establecer el alcance de manejador de sucesos locales, por ejemplo:

[EventHandler( event="TestEvent.SAVE_USER_REQUESTED", scope="local")]
public function handleEvent(event:Event):void {
    //do stuff
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top