我一直在看视频和阅读文章,但这篇文章让我很困惑,在文章的开头它说

The applications in Angular follow modular structure. The Angular apps will contain many modules, each dedicated to the single purpose. Typically module is a cohesive group of code which is integrated with the other modules to run your Angular apps. A module exports some classes, function and values from its code. The Component is a fundamental block of Angular and multiple components will make up your application. A module can be a library for another module. For instance, the angular2/core library which is a primary Angular library module will be imported by another component.

它们是可交换的条件吗?组件是模块吗?但反过来不是吗?


当前回答

一幅图胜过千言万语!

Angular的概念非常简单。它提议用“砖块”——>模块“构建”一个应用程序。

这个概念使得更好地构造代码并促进重用和共享成为可能。

注意不要把Angular模块和ES2015 / TypeScript模块搞混了。

对于Angular模块,它是一种机制:

1-分组组件(还包括服务、指令、管道等)

2-定义它们的依赖关系

3-定义他们的可见性。

Angular模块是用一个类(通常为空)和NgModule装饰器简单定义的。

其他回答

组件控制视图(html)。它们还与其他组件和服务通信,为应用程序带来功能。

模块由一个或多个组件组成。它们不控制任何html。你的模块声明了哪些组件可以被属于其他模块的组件使用,哪些类将被依赖注入器注入,哪些组件将被引导。模块允许你管理你的组件,为你的应用程序带来模块化。

组件是模板(视图)+一个包含视图逻辑的类(Typescript代码)+元数据(告诉angular从哪里获取需要显示模板的数据)。

模块基本上是将相关的组件和服务分组在一起,这样你就可以拥有可以独立运行的功能块。例如,一个应用程序可以有功能模块,为应用程序的特定功能分组组件,例如仪表板,你可以简单地抓取并在另一个应用程序中使用。

Angular 2中的模块是由组件、指令、服务等组成的。一个或多个模块组合成一个应用程序。模块将应用程序分解成逻辑代码块。每个模块执行一个单独的任务。

Angular 2中的组件是你为想要显示的页面编写逻辑的类。组件控制视图(html)。组件与其他组件和服务通信。

一幅图胜过千言万语!

Angular的概念非常简单。它提议用“砖块”——>模块“构建”一个应用程序。

这个概念使得更好地构造代码并促进重用和共享成为可能。

注意不要把Angular模块和ES2015 / TypeScript模块搞混了。

对于Angular模块,它是一种机制:

1-分组组件(还包括服务、指令、管道等)

2-定义它们的依赖关系

3-定义他们的可见性。

Angular模块是用一个类(通常为空)和NgModule装饰器简单定义的。

现在发表答案已经太迟了,但我觉得我的解释对Angular初学者来说很容易理解。下面是我在演讲中举的一个例子。

把你的angular应用程序看作一个建筑。一栋建筑可以有N个公寓。公寓被认为是一个模块。一个Apartment可以有N个房间,这些房间对应于Angular应用的组件。

现在,每个公寓(模块)都将有房间(组件),电梯(服务),以便更大的进出公寓,电线(管道)转换,使其在公寓中有用。

你也会有游泳池,网球场,这些都是由所有居民共享的。所以这些可以被认为是SharedModule中的组件。

基本上,区别如下:

这是我为初学者准备的关于Angular构建模块的课程

跟随我的幻灯片来理解Angular应用的构建模块