Я вижу, что есть проблема с вашим дизайном. Вместо того, чтобы иметь directive
в AppModule
, создайте SharedModule
и затем внедрите туда directive
. Импортируйте SharedModule
везде в вашем приложении. Таким образом, вы можете получить доступ к вашему directive
из внешних компонентов (из других модулей).
Убедитесь, что вы объявляете и экспортируете его внутри SharedModule
Я думал, что что-либо объявленное в модуле приложения должно быть доступно для
все модули
Нет, это не правильно, дочерние модули не знают, что у вас внутри AppModule
. ChildModule
- это просто еще один независимый модуль, такой как AppModule
. Вы могли бы просто выставить AppModule
на ChildModule
, но это может вызвать циклическую зависимость. Вот почему вы должны использовать SharedModule