Комментарии 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/
Хост директивы: ключ к декомпозиции