何时使用角度指令,组件和模块

时间:2019-05-08 18:50:14

标签: angular angular-directive angular-components angular-module

我一直在阅读文档,但是对于何时应该使用指令或组件似乎还是很困惑……

此外,什么时候最好抽象组件并将它们放入模块中?

1 个答案:

答案 0 :(得分:2)

实际上,根据角度文档,组件也是一种指令。

  

Angular中有三种指令:

1. Components—directives with a template.
2. Structural directives—change the DOM layout by adding and removing DOM elements.
3. Attribute directives—change the appearance or behavior of an element,
   component, or another directive.

当您的要求是创建一组可重复使用的html元素时,请使用 components 。 例如,如果需要制作CRUD屏幕,则可以创建一个组件,该组件包括表格,保存,编辑,删除按钮等。 角度屏幕也是一个组件,也可以由多个组件构成。

如果您的要求是轻松更改现有组件或元素的样式或结构,请使用指令。考虑一下* ngFor,它是一个结构指令,用于构造一组元素。您还可以使用指令为现有组件提供其他功能。例如,您可以创建一个指令,该指令为表组件提供过滤或导出支持。

  

此外,什么时候最好提取组件并将其放入   模块?

将组件等放置到不同的模块中完全是modularity。这样,您可以将彼此相关的事物进行分组,并在需要时通过将其导入来重复使用它们。例如,当您需要http调用时,可以导入http-client-module,该模块包含一个http客户端和相关内容。模块的另一个好处是,您可以通过延迟加载模块来减小应用程序的初始大小,这意味着,如果将组件放入延迟加载的模块中,则仅在需要时(必须使用/显示在屏幕上)下载该模块