TGViewer
Frontender Libs - обзор библиотек JS / CSS Frontender Libs - обзор библиотек JS / CSS @swebdev · 7.44K subscribers
Post #3239 1.36K
Внедрение необязательных зависимостей в Angular

Декоратор @Optional() в Angular используется для указания того, что зависимость может быть необязательной. Если нужная зависимость отсутствует, Angular не выбросит ошибку, а просто передаст null. Это полезно, когда сервис или зависимость может не всегда быть доступна в контексте компонента.

Пример:
import { Component, Optional } from '@angular/core';
import { LoggingService } from './logging.service';

@Component({
selector: 'app-optional-demo',
template: `<p>Декоратор @Optional() пример</p>`
})
export class OptionalDemoComponent {
constructor(@Optional() private loggingService: LoggingService) {
if (this.loggingService) {
this.loggingService.log('Logging service is available');
} else {
console.log('Logging service is not available');
}
}
}

В этом примере сервис LoggingService внедряется как необязательный. Если он не зарегистрирован, вместо ошибки просто будет выведено сообщение о его отсутствии.

👉 @sWebDev
  • 👍 5
  • 🔥 1
More from @swebdev
  1. Sep 26, 2026🤖 AI для фронтенд-разработчика: собираем инструменты на Podlodka Frontend Crew AI-инструм…
  2. Mar 23, 2026👉 @sWebDev | #книги
  3. Mar 23, 2026JavaScript для профессиональных веб-разработчиков Автор доступно объясняет сложные концепц…
  4. Jan 27, 2026Tabulator Библиотека, которая превращает HTML-таблицы или данные из JavaScript в интеракти…
  5. Jan 9, 2026Post #4134
  6. Jan 9, 2026Отложенный вызов Вопрос: Что произойдёт, если передать null в качестве задержки в useTimeo…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →