Прежде чем вы захотите сменить провайдера, вам нужно объявить его.
@Injectable()
export class ProviderService {
public someMethod(){
console.log('My injected provider')
}
}
@Injectable()
export class ProviderTwoService {
public someMethod(){ console.log("My swiched provider") }
}
@Injectable()
export class implProviderOneService {
constructor(private provider: ProviderService) {} <<< this way u inject remember it need to have scope like private, public, protected
someFunction() {
this.provider.someMethod() <<< this way u use injected service
}
}
//This is what I try
//Main Module
//main.module.ts
@NgModule({
...
providers:[
ProviderService,
{ provide: ProviderService, useClass:ProviderTwoService}
],
...
})
{ provide: ProviderService, useClass: ProviderTwoService }
Это для изменения ProviderService на ProviderTwoService, поэтому, где бы вы ни вводили инъекцию и использовали первого поставщика, будет вводиться второй.