【问题标题】:Directive declaration指令声明
【发布时间】:2017-09-21 18:19:01
【问题描述】:

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

我制作了这张图以便更好地理解:

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

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

【问题讨论】:

    标签: angular directive angular2-directives


    【解决方案1】:

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

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

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

    【讨论】:

    • 你的演讲太棒了!我本来想在那里!我对模块的继承感到困惑。我在想,如果我在顶部模块上声明了一个服务,它将在整个应用程序上可用。根据您的介绍,这是真的。我不应该在不同的模块上声明服务。和指令?适用于服务的相同方式,对吗?拥有一个共享模块的概念很棒。非常感谢您抽出宝贵的时间。我太感激了。
    • 非常感谢!在模块级别声明的服务可用于应用程序中的所有组件。指令被声明或导入到一个特定的模块中,并且仅可用于在该模块中声明的组件。希望这会有所帮助!
    猜你喜欢
    • 2010-09-18
    • 2018-06-29
    • 1970-01-01
    • 2019-08-19
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    相关资源
    最近更新 更多