Ответ
В Angular есть несколько встроенных DI декораторов:
@Injectable()- помечает класс как сервис, который можно инжектировать
@Injectable({
providedIn: 'root'
})
export class DataService {}
@Inject()- явно указывает токен для инжектирования
constructor(@Inject('API_URL') private apiUrl: string) {}
@Optional()- указывает, что зависимость не обязательна
constructor(@Optional() private logger: LoggerService) {}
@Self()- ищет зависимость только в текущем инжекторе@SkipSelf()- пропускает текущий инжектор@Host()- ограничивает поиск до инжектора хоста
Эти декораторы позволяют гибко управлять процессом внедрения зависимостей в Angular приложениях.