我有此服务CredentialService
,该服务具有两个功能来告诉我要订阅哪个可观察对象
class CredentialService{
private observableState$$: Subject;
public observableState$ = this.observableState$$.asObservable()
listenToLoginObs(): {}
listenToReauthObs(): {}
constructor(some: Other, dependencies:Here){}
// ....
}
此服务在需要它的每个组件中提供和实例化。现在,根据需要,我在每个NgOnInit
中都叫listenToLoginObs
或listenToReauthObs
。
@Component({
selector: 'login-componente',
templateUrl: './login.component.html',
styleUrls: ['./logincomponent.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [CredentialService]
})
export class LoginComponent implements OnInit(){
constructor(private credentialService: CredentialService){}
public ngOnInit(): void {
this.credentialService.listenToLoginObs()
}
}
我想知道是否有一种方法可以在providers数组中直接配置它,因此我不需要在listenToLoginObs
上手动调用listenToReauthObs
或ngOnInit
(没有很大的开销) 。 ?