Optional возвращает null при отсутствии зависимости; Self ограничивает поиск текущим инжектором; SkipSelf начинает с родителя; Host ограничивает поиск границей host-компонента.
Приходилось ли пользоваться DI-декораторами @Optional, @Self, @SkipSelf и @Host? Объясни, как они влияют на поиск зависимости в иерархии инжекторов.
Optional возвращает null при отсутствии зависимости; Self ограничивает поиск текущим инжектором; SkipSelf начинает с родителя; Host ограничивает поиск границей host-компонента.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Optional возвращает null при отсутствии зависимости; Self ограничивает поиск текущим инжектором; SkipSelf начинает с родителя; Host ограничивает поиск границей host-компонента.
Модификаторы меняют область разрешения токена, а не создают его автоматически. Optional полезен вместе с ограниченным поиском, если отсутствие допустимо. Host имеет смысл в иерархии element injector; для environment injector соответствующее ограничение не применяется. Личный опыт дополните конкретным случаем использования.
Источник: angular.dev.