Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 什么';s角组件和模块之间的差异_Angular_Module_Components - Fatal编程技术网

Angular 什么';s角组件和模块之间的差异

Angular 什么';s角组件和模块之间的差异,angular,module,components,Angular,Module,Components,我一直在看视频和阅读文章,但这让我很困惑,在文章的开头写道 在角跟踪模块化结构中的应用。Angular应用程序将包含许多模块,每个模块专用于单一用途。通常,模块是一组内聚的代码,与其他模块集成以运行应用程序 模块从其代码中导出一些类、函数和值组件是角度的基本块,多个组件将构成您的应用程序。 一个模块可以是另一个模块的库。例如,angular2/core库是一个主要的角度库模块,它将由另一个组件导入 它们是可交换的吗?组件是模块吗?但不是viceversa?组件控制视图(html)。它们还与其他组

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

在角跟踪模块化结构中的应用。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代码

  • 代码(打字脚本)

  • 服务:它是由组件共享的可重用代码,以便 不需要重写代码

  • 管道:它接收数据作为输入,并将其转换为所需的输出

参考:

一幅画抵得上千言万语

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

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

小心不要将角度模块与ES2015/TypeScript模块混淆。

关于角度模块,它是一种用于:

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

2-定义它们的依赖关系

3-定义其可见性


Angular模块只是用一个类(通常为空)和NgModule decorator定义的。

对所有这些都不感兴趣。是的,您的组件将使用服务,但该服务必须在模块中的providers数组中指明。您的图表没有显示这一点。我可以在一个组件中添加一个子模块,并向该模块添加几个组件吗?这不对。组件包含一个模板