Injection Tokens
-
Injection Tokens
-
Injection tokens é uma classe genérica que permite adicionar seu componente
- Ex: Imagina que você tem as configurações básicas da aplicação e você gostaria de carregar elas no início e disponibilizar por DI para toda a aplicação. Usar Injection tokens é uma das soluções
//tokens.ts
import { InjectionToken } from '@angular/core';
export const APP_VERSION = new InjectionToken<string>('This token refers to the application version');
//app.module
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { APP_VERSION } from './tokens';
@NgModule({
imports: [BrowserModule],
declarations: [AppComponent],
providers: [{ provide: APP_VERSION, useValue: '1.0' }], // <-- add the token to the providers array
bootstrap: [AppComponent],
})
export class AppModule {}
//component
import { Component, Inject } from '@angular/core';
import { APP_VERSION } from './tokens';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent {
constructor(@Inject(APP_VERSION) public appVersion: string) {
console.log(appVersion); // <-- '1.0'
}
}