Ich verstehe nicht Wann @Inject verwenden und wann @Injectable verwenden?Was ist der Unterschied zwischen @Inject und @Injectable in Angular 2 Typoskript
import {Component, Inject, provide} from '@angular/core';
import {Hamburger} from '../services/hamburger';
export class App {
bunType: string;
constructor(@Inject(Hamburger) h) {
this.bunType = h.bun.type;
}
}
Und ..
import {Injectable} from '@angular/core';
import {Bun} from './bun';
@Injectable()
export class Hamburger {
constructor(public bun: Bun) {
}
}
Dank @Thierry aber können Sie mir erklären, warum wir @Injectable() verwenden Wir können direkt die Klasse dann exportieren, warum wir @Injectable() verwenden? –
Wenn es Ihnen freisteht, den '@ Injectable' Dekorator nicht für eine exportierte Klasse zu verwenden. Es wird funktionieren, es sei denn, Sie möchten etwas injizieren ... Ohne den Decorator wird nichts in die entsprechende Instanz der exportierten Klasse injiziert. –
Wenn ich eine Klasse exportiere und sie in ein Modul importiere und sie im Code-Konstruktor (Beispiel: Beispiel) verwende, dann wird es funktionieren. Ich teste das schon. Dann ist es ein Grund, @Injectable() vor dieser Klasse zu verwenden – Kiwi