angular - 何时使用 Angular 指令、组件和模块

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

我一直在阅读文档,但似乎仍然对何时应该使用指令或组件感到困惑......

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

最佳答案

事实上,根据 Angular 文档,组件也是一种指令。

There are three kinds of directives in 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 元素时。
例如,如果您的要求是创建一个 CRUD 屏幕,您可以创建一个组件,它包括一个表格、保存、编辑、删除按钮等。
Angular 屏幕也是一个组件或可以由多个组件构成。

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

Also, when is it best to abstract components and place them into modules??



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

关于angular - 何时使用 Angular 指令、组件和模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56047247/

相关文章:

Angular 拦截器在 Http 请求数据响应之前完成

angular - 从 Angular 4 中的选择选项中获取值(value)

angularjs - 语法错误 : Token ':' is an unexpected token when passing variable to directive

Angular 6.0.3 HTML 组件选择器不工作

angular - vimeo/player.js - 无法读取未定义的属性 'nativeElement'

javascript - 如何在 Angularjs2 中使用 jquery 设置输入值并更新模型值?

css - 如何检查 Material Angular 中的垫子菜单是否打开?

angular - 在 APP_INITIALIZE 之后初始化其他提供者

angular - 我可以在结构指令中同时做两件事吗?

angular - 将数据从一个组件传递给服务,然后再传递给另一个组件