我知道有角度的DI 注入模式,但现在我正在实现Nebular所以需要扩展类,因此在这种情况下无法使用构造函数(鉴于从未使用过超级调用)
问题是
this.authenticationService
尽管添加了提供程序,但仍为 null。
请帮我解决这个问题,或者让我知道在这种情况下如何在没有构造函数的情况下注入服务。
将您的构造函数更新为:
export class NgxLoginCustomComponent extends NbLoginComponent {
constructor(
nbAuthservice: NbAuthService,
@Inject(NB_AUTH_OPTIONS) options = {},
cd: ChangeDetectionRef,
router: Router,
authService: AuthenticationService
) {
super(nbAuthservice, options, cd, router, authService);
}
}
您必须在子构造函数中注入所有参数,再次使用参数调用 super(),如下所示。
export class ChildComponent extends ParentComponent {
constructor(prentDepService1:any,prentDepService2:any)
{
super(prentDepService1,prentDepService2);
}
}