Angular 2 - Dependency Injection
L'inserimento delle dipendenze è la capacità di aggiungere la funzionalità dei componenti in fase di esecuzione. Diamo un'occhiata a un esempio e ai passaggi utilizzati per implementare l'inserimento delle dipendenze.
Step 1- Creare una classe separata che abbia il decoratore iniettabile. Il decoratore iniettabile consente di iniettare e utilizzare le funzionalità di questa classe in qualsiasi modulo JS angolare.
@Injectable()
export class classname {
}
Step 2 - Successivamente, nel modulo appComponent o nel modulo in cui desideri utilizzare il servizio, devi definirlo come provider nel decoratore @Component.
@Component ({
providers : [classname]
})
Diamo un'occhiata a un esempio su come ottenere ciò.
Step 1 - Crea un file ts file per il servizio denominato app.service.ts.
Step 2 - Inserisci il seguente codice nel file creato sopra.
import {
Injectable
} from '@angular/core';
@Injectable()
export class appService {
getApp(): string {
return "Hello world";
}
}
I seguenti punti devono essere annotati riguardo al programma di cui sopra.
Il decoratore iniettabile viene importato dal modulo angolare / centrale.
Stiamo creando una classe chiamata appService decorata con il decoratore iniettabile.
Stiamo creando una semplice funzione chiamata getApp che restituisce una semplice stringa chiamata "Hello world".
Step 3 - Nel file app.component.ts inserire il codice seguente.
import {
Component
} from '@angular/core';
import {
appService
} from './app.service';
@Component({
selector: 'my-app',
template: '<div>{{value}}</div>',
providers: [appService]
})
export class AppComponent {
value: string = "";
constructor(private _appService: appService) { }
ngOnInit(): void {
this.value = this._appService.getApp();
}
}
I seguenti punti devono essere annotati riguardo al programma di cui sopra.
Innanzitutto, stiamo importando il nostro modulo appService nel modulo appComponent.
Quindi, stiamo registrando il servizio come fornitore in questo modulo.
Nel costruttore definiamo una variabile chiamata _appService del tipo appService in modo che possa essere chiamata ovunque nel modulo appComponent.
Ad esempio, nel lifecyclehook ngOnInit, abbiamo chiamato la funzione getApp del servizio e assegnato l'output alla proprietà value della classe AppComponent.
Salva tutte le modifiche al codice e aggiorna il browser, otterrai il seguente output.