指令声明

Directive declaration

我在 Angular 上有一个项目。我了解到我需要在我的应用程序的更高级别上声明每个具有许多功能的模块,并且它将在我的所有组件和子模块上可用。但是我有一个带有指令的特例。我做了一个简单的指令并将其导入我的 app.module.ts

为了更好的理解,我画了这张图:

我想在属于另一个模块的组件上使用此指令(此模块也在我的 app.module.ts 上声明)。所以我把我的指令放在这个组件上,但它不起作用。但是如果我将导入移动到这个子模块然后工作。

我可以在更高级别的模块上声明哪些内容,哪些内容不应该?

Angular 模块提供模板解析。与 Angular 模块中声明的组件关联的模板使用的任何嵌套组件、指令或管道也必须声明或导入到该 Angular 模块中。

您可以使用共享模块共享组件、指令和管道。

有关模板解析和共享模块的更多信息,请观看此视频:https://www.youtube.com/watch?v=ntJ-P-Cvo7o&t=4s