我一直在阅读文档,但是对于何时应该使用指令或组件似乎还是很困惑……
此外,什么时候最好抽象组件并将它们放入模块中?
答案 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客户端和相关内容。模块的另一个好处是,您可以通过延迟加载模块来减小应用程序的初始大小,这意味着,如果将组件放入延迟加载的模块中,则仅在需要时(必须使用/显示在屏幕上)下载该模块>