Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Angular 2. dependency injection, как настраивать в единой точке ?
|
|||
|---|---|---|---|
|
#18+
Разбираюсь с DI в ангуляре. Не могу найти то, что мне нужно. Вот кусок кода, с примером работы с DI. Код: css 1. 2. 3. 4. 5. Мне не нравится, что класс-реализация настраивается в самом компоненте. Во первых это не удобно сопровождать. Если я решу сменить логгер, то придется лазить по всем файлам (и ничего не забыть, не пропустить) в поисках конфигурации логгера и везде менять ? Во вторых о какой слабой связанности можно говорить, если компонент вынужден знать про классы реализующие нужные ему сервисы. Где возможно получить интерфейс и работать с ним, не разбираясь о конкретной реализации ? Для примера возьмем реализацию DI во взрослом языке, на примере Autofac: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Либо все настолько плохо, либо я просто не нашел нормального примера. Подскажите как в Ангуляре сделать централизованную точку настройку зависимостей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 10:47 |
|
||
|
Angular 2. dependency injection, как настраивать в единой точке ?
|
|||
|---|---|---|---|
|
#18+
Разобрался. Нужно в @NgModule прописать Код: javascript 1. 2. 3. В компоненте просто в конструктор передавать Код: javascript 1. В Ангуляре инжекторы зависимостей передаются по дереву компонентов. Таким образом можно законфигурировать все в одной точке/файле NgModule. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 12:35 |
|
||
|
Angular 2. dependency injection, как настраивать в единой точке ?
|
|||
|---|---|---|---|
|
#18+
А можно создавать свой экземпляр сервиса на уровне компонента, здорово, чо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2017, 12:13 |
|
||
|
Angular 2. dependency injection, как настраивать в единой точке ?
|
|||
|---|---|---|---|
|
#18+
Агнец за бортом, Прямо в коде создавать объект через new, а как зависимости создаваемого объекта в ручную разруливать ? Отказаться от DI ? Ну неееет уж ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2017, 12:40 |
|
||
|
Angular 2. dependency injection, как настраивать в единой точке ?
|
|||
|---|---|---|---|
|
#18+
TsHeloWorlderАгнец за бортом, Прямо в коде создавать объект через new, а как зависимости создаваемого объекта в ручную разруливать ? Отказаться от DI ? Ну неееет уж ) Ты вообще меня не понял. Можно создать синглтон на уровне всего приложения, а можно создать экземпляр сервиса на уровне компонента, и это то, чем ты и занимался в первом посте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2017, 13:12 |
|
||
|
Angular 2. dependency injection, как настраивать в единой точке ?
|
|||
|---|---|---|---|
|
#18+
Ну с этим то я уже разобрался, написав "В Ангуляре инжекторы зависимостей передаются по дереву компонентов. Таким образом можно законфигурировать все в одной точке/файле NgModule.". Поэтому запоздалая критика первого поста меня и сбила с толку. Да я знаю уже, что если в компоненте переопределить провайдер, то он будет создан для компонента, а не взят от родителя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2017, 13:45 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39440858&tid=1444657]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 137ms |

| 0 / 0 |
