2014-05-16 20 views
2

在应用程序配置文件我有一个信号/命令映射信号也决不会被注入 - 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); 
} 

有什么建议可能是什么原因? 谢谢

+0

您是否在注射器中映射了信号本身?像_injector.map(DisconnectUserSignal).asSingleton(); _ – fsbmain

+0

我没有,但现在会做,让你知道结果。 – inside

+0

nope ... still null! – inside

回答

0

通过Robotlegs的框架文件会后 - 我找到了答案:

我改变了_baseConnection是一个接口,以及移动一切从BaseConnection的构造到init方法,现在我注入这里面我BBConnection。

这里BBConnection现在的样子:

[Inject] 
public var baseConnection:IBaseConnection; 

public function BBConnection() 
{ 
} 

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

现在我可以成功注入底座连接断开内部信号。

来源:https://github.com/robotlegs/robotlegs-framework/wiki/common-problems#injected-properties-are-null-in-constructor