robotlegs: Tengo 2 puntos de vista y mediadores que tienen en común 1 cosa, ¿cómo puedo secarlo?

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

  •  29-09-2019
  •  | 
  •  

Pregunta

Tengo 2 vistas que muestran listas que luego utiliza un mediador para obtener los datos. pero quiero de alguna manera para que se seque por lo que no tengo que repetir mi auto 2 veces por la misma cosa. ¿Cómo lo hago?

EDIT1 (código):

[SkinPart(required="false")]
public var WOListsDDL:DropDownList;
    // in partadded
case WOListsDDL:
    // when the selected list is changed in the lists drop down list
    WOListsDDL.addEventListener(IndexChangeEvent.CHANGE, _WOListsDDL_changeHandler);
    WOListsDDL.dataProvider = new ArrayCollection();
    WOListsDDL.labelField = 'title';
break;
    //

    protected function _WOListsDDL_changeHandler(event:*):void{
        _debug('List selection changed handler.');
        _getContentsForList();
    }
    protected function _getContentsForList():void{
        _debug('Getting list items.');
        getItemsSignal.dispatch({key: getSelectedList()._key, itemType: 'item'});
    }
    public var getItemsSignal:GetItemsSignal = new GetItemsSignal();

    override public function mediatorComplete():void{
        getItemsSignal.dispatch({key: tottysAuth.getCurrentUser()._key, itemType: 'list'});
    }

// entonces en mi mediador

    [Inject] public var getItemsSignal:GetItemsSignal;
    override public function onRegister():void{
        // view listeners
        view.getItemsSignal.add(_getItemsSignalHandler);
    }
    protected function _getItemsSignalHandler(input:Object):void{
        getItemsSignal.dispatch(input);
    }

todo esto por un punto de vista-mediador. Ahora tengo 2 view-mediadores que están haciendo estas tareas. ¿Cómo hacer que se sequen?

Soluciones que tienen: hacer un poco de vista que contiene la lista desplegable con un mediador que se detecta el evento. en los grandes componentes que están escuchando para una señal en la vista de este pequeño componente. nada mas. parece bastante bien, pero no creo es tan grande

¿Fue útil?

Solución

Así que no hay funcionalidad tanto en los puntos de vista y los mediadores que le gustaría que no se repita?

Se puede poner el código que desea volver a utilizar en otro objeto y llamar a sus métodos de sus múltiples puntos de vista y mediadores. O bien, podría ponerlo en clases ancestros y se extienden cada una de esas clases, tanto en su punto de vista y su mediador.

La mejor práctica sería la de hacer lo primero y no lo segundo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top