Ich bin ein wenig verwirrt, wenn es richtig ist, was zu verwenden.Angular 2 Wann DI, Provider oder reiner Import zu verwenden?
1. Definieren Klasse mit statischen Funktionen, einfach importieren und importierten Namen verwenden und dann funktionieren
Gemeinschafts-Klasse:
export class SomeClass {
static someFunction(){
...
}
}
Klasse, die exportiert Klasse verwendet:
import { SomeClass } from './someclassstatic'
...
constructor(){
SomeClass.someFunction()
}
2. Definieren Sie s tandard Klasse montieren dann über DI
Gemeinschafts-Klasse:
export class SomeClassDI {
public someFunctionDI(){
...
}
}
Klasse, die exportiert Klasse verwendet:
import { SomeClassDI } from './someclassdi'
...
constructor(private theclassdi:SomeClassDI){
this.theclassdi.someFunction()
}
3. Definieren der Standardklasse, montieren als Anbieter während bootstraping
Gemeinsame c Mädchen:
export class SomeClassBS {
public someFunctionBS(){
...
}
}
Klasse, die Angular2
import { SomeClassBS } from './someclassbs'
...
bootstrap(AppComponent, [SomeClassBS]);
Klasse Schopf aus dem Sumpf, die Klasse exportiert verwendet:
??? I am not sure what can be the example here.
Was ist die richtige Verwendung der Anbieter?
@Teddy, deckt es alle Ihre Frage? – Mikki
Ich muss sagen, Angular 2 Injektionen Mechanismus fühlt sich komisch für mich. Was ist der Sinn dieser DI, wenn ich die injizierte Klasse trotzdem importieren muss? Sollte ich mir nicht die Möglichkeit geben, von der Implementation zu abstrahieren? – Joe