Comments 4
Спасибо за статью!
Все директивы находятся во вью и, следовательно, недоступны для DI, если хотим использовать их позже.
Имеется в виду, что не сможем получить доступ к директиве myVisualDirective, если попробуем заинжектить ее в компоненте?
Имеется в виду, что вот тут:
<my-custom-dropdown [content]="content">
<button myDirective>Toggle dropdown</button>
</my-custom-dropdown>
если ты попробуешь в myDirective
заинжектить myVisualDirective
- ты не сможешь этого сделать, так как она во вьюхе my-custom-dropdown
и инжектор от myDirective
её не увидит. Поправлю в статье для ясности.
Понял, спасибо. Выходит, это из-за того, что контент принадлежит родительскому вью
Если myVisualDirective
хост директива на my-custom-dropdown
, то ее получится заинжектить внутри директив в контенте? Удобный хак
Верно. Можно вот это ещё почитать по теме:
https://habr.com/ru/companies/tbank/articles/756024/
Хост директивы: ключ к декомпозиции