Я не понимаю Когда использовать @Inject и когда использовать @Injectable?В чем разница между @Inject и @Injectable в Angular 2 typescript
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;
}
}
И ..
import {Injectable} from '@angular/core';
import {Bun} from './bun';
@Injectable()
export class Hamburger {
constructor(public bun: Bun) {
}
}
Спасибо @Thierry, но можете ли вы объяснить мне, почему мы используем @Injectable() Мы напрямую можем экспортировать класс, а затем почему мы используем @Injectable()? –
Если вы свободны не использовать декоратор '@ Injectable' для экспортированного класса. Он будет работать, если вы не хотите что-то в нем вставить ... Без декоратора ничего не будет введено в соответствующий экземпляр экспортированного класса. –
Если я экспортирую класс и импортирую его в некоторый модуль и использую его в конструкторе кода (пример: пример), как это, он будет работать отлично, я уже тестирую это. Тогда есть ли какая-либо причина использовать @Injectable() перед этим классом – Kiwi