是否可以在带有参数的组件中提供服务?

时间:2019-11-21 07:44:36

标签: angular

我有此服务CredentialService,该服务具有两个功能来告诉我要订阅哪个可观察对象

class CredentialService{
    private observableState$$: Subject;
    public observableState$ = this.observableState$$.asObservable()
    listenToLoginObs(): {}

    listenToReauthObs(): {}

    constructor(some: Other, dependencies:Here){}
   // ....
}

此服务在需要它的每个组件中提供和实例化。现在,根据需要,我在每个NgOnInit中都叫listenToLoginObslistenToReauthObs

@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上手动调用listenToReauthObsngOnInit(没有很大的开销) 。 ?

0 个答案:

没有答案