Angular 什么';s角组件和模块之间的差异
我一直在看视频和阅读文章,但这让我很困惑,在文章的开头写道 在角跟踪模块化结构中的应用。Angular应用程序将包含许多模块,每个模块专用于单一用途。通常,模块是一组内聚的代码,与其他模块集成以运行应用程序 模块从其代码中导出一些类、函数和值组件是角度的基本块,多个组件将构成您的应用程序。 一个模块可以是另一个模块的库。例如,angular2/core库是一个主要的角度库模块,它将由另一个组件导入 它们是可交换的吗?组件是模块吗?但不是viceversa?组件控制视图(html)。它们还与其他组件和服务进行通信,为您的应用程序带来功能Angular 什么';s角组件和模块之间的差异,angular,module,components,Angular,Module,Components,我一直在看视频和阅读文章,但这让我很困惑,在文章的开头写道 在角跟踪模块化结构中的应用。Angular应用程序将包含许多模块,每个模块专用于单一用途。通常,模块是一组内聚的代码,与其他模块集成以运行应用程序 模块从其代码中导出一些类、函数和值组件是角度的基本块,多个组件将构成您的应用程序。 一个模块可以是另一个模块的库。例如,angular2/core库是一个主要的角度库模块,它将由另一个组件导入 它们是可交换的吗?组件是模块吗?但不是viceversa?组件控制视图(html)。它们还与其他组
模块由一个或多个组件组成。它们不控制任何html。您的模块声明属于其他模块的组件可以使用哪些组件,依赖项注入器将注入哪些类,以及哪个组件将被引导。模块允许您管理组件,为应用程序带来模块化 Angular 2中的模块是由组件、指令、服务等组成的。一个或多个模块组合在一起构成一个应用程序。模块将应用程序分解为逻辑代码段。每个模块执行单个任务
Angular 2中的组件是为要显示的页面编写逻辑的类。组件控制视图(html)。组件与其他组件和服务通信。角度组件 是Angular应用程序的基本构建块之一。一个应用程序可以有多个组件。在普通的应用程序中,组件包含一个HTML视图页面类文件、一个控制HTML页面行为的类文件和CSS/scss文件,用于设置HTML视图的样式。可以使用
@component
装饰器创建组件,装饰器是@angular/core
模块的一部分
从'@angular/core'导入{Component};
并创建一个组件
@组件({selector:'greet',template:'Hello{{{name}!'})
班级问候{
名称:string='World';
}
创建组件或角度应用程序的步骤如下
角度模块
一个应用程序可以有多个模块
可以使用@NgModule
装饰器创建模块
@NgModule({
导入:[BrowserModule],
声明:[AppComponent],
引导:[AppComponent]
})
导出类AppModule{}
组件是模板(视图)+一个类(Typescript代码),其中包含一些视图逻辑+元数据(告诉angular从何处获取显示模板所需的数据)
模块
基本上将相关的组件、服务组合在一起
,这样您就可以拥有大量的功能,然后这些功能就可以独立运行了。例如,一个应用程序可以有功能模块,用于对应用程序特定功能的组件进行分组,例如仪表板,您可以简单地在另一个应用程序中抓取和使用。好吧,现在发布答案已经太晚了,但我觉得我的解释对于初学者来说很容易理解。以下是我在演讲中给出的示例之一
将您的角度应用程序视为建筑。一栋建筑可以有N
个公寓。公寓被视为一个模块。然后,公寓可以有N
个房间,这些房间对应于名为components的Angular应用程序的构建块
现在,每个公寓(模块)`都将有房间(组件)、电梯(服务设施),以便能够更大程度地进出公寓,电线(管道)将在公寓中转换并发挥作用
您还将拥有游泳池、网球场等所有建筑居民共享的场所。因此,这些可以被视为SharedModule内部的组件
基本上区别如下,
按照我的幻灯片理解
这是我在
最简单的解释:
模块类似于一个大容器,其中包含一个或多个称为组件、服务、管道的小容器
组件包含:
- HTML模板或HTML代码
- 代码(打字脚本)
- 服务:它是由组件共享的可重用代码,以便 不需要重写代码
- 管道:它接收数据作为输入,并将其转换为所需的输出
Angular模块只是用一个类(通常为空)和NgModule decorator定义的。对所有这些都不感兴趣。是的,您的组件将使用服务,但该服务必须在模块中的providers数组中指明。您的图表没有显示这一点。我可以在一个组件中添加一个子模块,并向该模块添加几个组件吗?这不对。组件包含一个模板