Есть ли способ получить доступ к полю службы, не вводя службу в каждый компонент?или эквивалентно: существует ли какое-либо понятие «глобальной» службы в Angular 6?
Мой пример использования следующий: текстовые метки для полей извлекаются при запуске приложения службой ConfigurationManagementService.Эта служба имеет наблюдаемое поле CurrentApplicationContext $, которое имеет поле объекта ApplicationConfiguration, которое имеет поле объекта Label.(это связано с тем, как был настроен сервер).
Теперь: чтобы использовать метки в представлении компонента, я должен внедрить ConfigurationManagementService (в данном случае ConfigurationManagement) в каждый компонент, а затем подписаться на него (к счастью, я могу использовать метод прямой асинхронной передачи), напримерthis:
<button mat-raised-button color="primary">
<mat-icon">add_shopping_cart</mat-icon>
{{ (ConfigurationManagement.CurrentApplicationContext$ | async)?.ApplicationConfiguration?.Label['Buy'] }}
</button>
Мой вопрос: есть ли другой более короткий способ сделать это?Потому что это очень трудоемкая и утомительная задача, если вы выполняете ее, как указано для каждого компонента и каждого текстового поля в приложении.
Спасибо!