24
loading...
This website collects cookies to deliver better user experience
Example:
constructor(myService: MyService) { }
// use access modifiers to enable encapsulation
Example:
@Component({
/* ... */
providers: [MyService],
})
providers: [
{ provider: MyService, useClass: MyService }
]
providers: [
{ provider: SomeService, useClass: BetterService }
]
providers: [
{ provider: FormsModule, useClass: XFormsModule }
]
providers: [
{ provider: SomeService, useValue: value }
]
providers: [
{ provide: AuthService, useExisting: Auth2Service }
]
Example:
export class StorageService {
constructor(private isAuthorised: boolean) {
this.isAuthorised ? this.saveExtraData() : this.saveData();
}
saveData() {
// restricting user to store extra data code ...
console.log(‘data saved’);
}
saveExtraData() {
// no restrictions to authenticated user ...
console.log(‘data saved’);
}
}
// Factory provider for creating a new instance for StorageService
export let StorageServiceFactory(userService: UserService) {
return new StorageService(userService.user.isAuthorized);
}
// app.component.ts
@Component({
providers: [
{ provider: StorageService,
useFactory: StorageServiceFactory,
deps: [UserService] }
]
})