I don\'t understand When to use @Inject and when to use @Injectable ?
import {Component, Inject, provide} from \'@angular/core\';
import {Hamburger} fr
is a manual mechanism for letting Angular know that a parameter must be injected.
When using TypeScript, @Inject is only needed for injecting primitives. For eg:
export class AppComponent {
encryption = this.chatWidget.chatSocket.encryption;
constructor(@Inject(ChatWidget) private chatWidget) { }
}
lets Angular know that a class can be used with the dependency injector.
For eg:
@Injectable()
export class ChatWidget {
constructor(
public authService: AuthService,
public authWidget: AuthWidget,
public chatSocket: ChatSocket) { }
}
In the above example Angular's injector determines what to inject into ChatWidget's constructor by using type information