Сигнал никогда не вводится - robotlegs2.0

В конфигурационном файле приложения у меня есть отображение сигнала / команды

signalCommandMap.map(DisconnectUserSignal).toCommand(DisconnectUserCommand);

Затем у меня есть два класса подключения:

public class BaseConnection implements IBaseConnection
{ 
   // When I am trying to inject the signal here: 
   [Inject] public var disconnectUserSignal:DisconnectUserSignal; // it is always null

   _netConnection = new NetConnection();
   ... 
}

а также

public class BBConnection extends DefaultConnectionCallback implements IBBConnection
{ 
  // When I am trying to inject the signal here:
  [Inject] public var disconnectUserSignal:DisconnectUserSignal; // it works perfectly fine

  _baseConnection = new BaseConnection(this);
}

Есть ли какие-либо предположения о том, что может быть причиной? Спасибо

1 ответ

Решение

Пройдя документацию по фреймворку robotlegs, я нашел ответ:

Я изменил _baseConnection, чтобы он стал интерфейсом, и переместил все из конструктора BaseConnection в метод init, и теперь я внедряю его в BBConnection.

Вот как выглядит BBConnection:

[Inject]
public var baseConnection:IBaseConnection;

public function BBConnection() 
{
}

[PostConstruct]
public function init():void
{
   baseConnection.init(this);
}

Теперь я могу успешно ввести сигнал Disconnect внутри базового соединения.

Источник: https://github.com/robotlegs/robotlegs-framework/wiki/common-problems

Другие вопросы по тегам