Angular 应用是模块化的,Angular 有自己的模块系统,叫做 Angular 模块 or NgModules。
.
每个 Angular 应用至少有一个模块——根模块,通常叫做 AppModule。
小规模的应用程序中也许只有一个根模块 , 大多数应用有许多功能模块,每个耦合的代码块作用于程序域、工作流或是密切相关的功能。
一个Angular模块,无论是根还是功能性,都是一个 使用@NgModule修饰符的类。
修饰符(decorators )是修改JavaScript类的功能函数。Angular有许多的修饰符,通过给类附加元数据可以知道这些类的的意义,它们如何工作。学习更多 关于网页元数据。
NgModule 是一个描述符函数,描述模块的单一元数据对象。最重要的属性是:
-
declarations - 属于这个模块的 视图类(view classes)。Angular 有三种视图类: components, directives, and pipes.
-
exports - 声明的一部分,对于其他模块的组件模板是可见和可用的。
-
imports - 声明这个模块的组件模版需要的、其他模块声明导出的类。
-
providers - 这个模块的服务创建器,是全局服务集合的一部分,可以被应用的任意部位访问到。
-
bootstrap - 主应用视图, 叫做 根组件(root component), 承载其他的应用视图。 只有 根模块(root module) 需要设置此引导属性。
这里是一个简单根模块:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
@NgModule({
imports: [ BrowserModule ],
providers: [ Logger ],
declarations: [ AppComponent ],
exports: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
看 export 属性 AppComponent 就展示了如何export; 这里仅举例,并不实际需要。根模块没有理由export任何东西,因为其他组件不需要import根模块。
通过引导一个根模块启动一个应用。开发中你可以在main.ts中引导AppModule,如下所示:
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
platformBrowserDynamic().bootstrapModule(AppModule);
Angular 模块 对比 JavaScript 模块
The Angular module — 一个类修饰符使用@NgModule — 是 Angular 的基础功能。
JavaScript 同样也有自己的模块系统,管理Javascript对象集。这完全不同也和Angular 模块系统无关。
在 JavaScript 中, 每个 文件就是一个模块,所有定义在文件中的对象都属于模块。模块定义公有对象通过关键词export标记这些对象。其他的JavaScript模块使用 import statements来从其他模块访问这些共有对象。
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
export class AppModule { }
在网上学习更过关于Javascript模块系统的知识。
这是两种不同的和完整的模块系统,在应用中同时使用它们。
相关推荐
在AngularJS 2.0中,模块(Modules)扮演着至关重要的角色,它们是构建应用程序的基本构建块。模块化设计使得代码组织更加有序,易于维护和扩展。本文将深入探讨AngularJS 2.0中的模块系统及其相关知识点。 ### 1. ...
### AngularJs中的Modules详解 #### 一、什么是Module? 在AngularJS中,**Module**扮演着极其重要的角色,它是组织应用程序的基本单位。许多应用程序都具备一个main方法来初始化和启动应用,而AngularJS则通过**...
9. **模块(Modules)**: NgModule是Angular 2中的一个核心概念,用于组织应用的组件、服务和其他资源。每个Angular应用至少有一个根模块(AppModule),其他模块可以是特性模块,用于封装特定的功能集。 10. **...
2. **组件化**:AngularJS 2.0 引入了组件化概念,每个 UI 元素都被视为一个组件,拥有独立的视图、数据和行为。组件间通过注入服务进行通信,增强了代码的可复用性和可维护性。 3. **依赖注入**:AngularJS 2.0 的...
关于使用AngularJS构建模块化的企业级应用程序的会议演示 内容 此存储库中包含两个项目 讲话 演讲项目包含演示文稿的reveal.js幻灯片。 所有幻灯片和演讲者注释都包含在此项目文件夹中。 运行此项目与运行reveal.js...
AngularJs模块(Modules)是AngularJS框架的重要组成部分,它用于管理应用的组件,例如控制器、服务、过滤器等,将它们组织成可复用且独立的块。本文将会详细解释AngularJs模块的概念、基本使用方法和高级特性,并...
1. **模块** (Modules):AngularJS 应用以模块为基础构建,模块是应用的容器,可以包含控制器、服务、指令等组件,并且可以互相依赖。 2. **控制器** (Controllers):控制器是与视图进行交互的主要方式,用于定义...
2. **数据绑定(Data Binding)**: 数据绑定是AngularJS的核心特性,允许双向通信,即视图和模型之间的自动同步。例如,`{{expression}}`用于在HTML中展示模型数据。 3. **依赖注入(Dependency Injection)**: ...
1. **模块(Modules)**:AngularJS 应用是以模块为基础的,`ngModule` 是 AngularJS 中用于定义模块的构造函数。模块可以包含控制器、服务、指令、过滤器等组件。 2. **控制器(Controllers)**:在 AngularJS 中...
2. **Chapter 2** - 可能涉及的是AngularJS的模块(Modules)和控制器(Controllers)。模块是组织应用的容器,而控制器则是处理视图和模型之间交互的地方。 3. **Chapter 3** - 本章可能会深入讲解视图(Views)和...
- 定义一个AngularJS模块,并将其作为应用的基础。 - 在HTML文档中使用`ng-app`属性指定该模块。 #### 四、AngularJS教程资源 根据提供的部分内容链接,我们可以进一步了解AngularJS的相关教程和项目案例: 1. ...
6. **模块(Modules)**:组织应用的构造块,用于封装功能和设置应用配置。 7. **路由(Routing)**:AngularJS的uirouter或ngRoute模块实现页面导航和状态管理。 8. **指令的生命周期**:理解编译、链接阶段以及...
将angularjs-modules安装到您的应用程序中: $ bower install --save Southbank-Centre/angularjs-modules 。 请参阅以获取与安装特定版本或版本库相关的选项。 添加脚本标签以包含您要在应用中使用的模块的任何...
8. **模块(Modules)** - 模块是AngularJS应用的基本构造单元,用于组织应用的各个部分,如控制器、服务、指令等。 9. **数据绑定(Data Binding)** - 数据绑定是AngularJS中模型和视图之间的桥梁,分为单向...
模块(Modules)是组织AngularJS应用结构的方式,它们允许你将相关的组件(控制器、服务、指令等)组合在一起。每个AngularJS应用都是从一个或多个模块开始的,通过`angular.module`函数创建和注册模块。 总的来说...
1. **模块(Modules)**:AngularJS中的模块是组织应用代码的基础,可以包含控制器、服务、指令等组件。通过`ngModule`指令创建模块,然后在应用中导入和使用。 2. **控制器(Controllers)**:控制器是应用中处理...
2. **AngularJS API参考手册.chm**:这个可能是英文版的API参考手册,为不熟悉中文或者更喜欢阅读原始英文文档的开发者提供支持。 在AngularJS中,以下几个核心知识点非常重要: - **依赖注入(Dependency ...
1. `node_modules` - Node.js依赖的外部模块,如Express(用于构建API)和Socket.IO(用于实现实时通信)。 2. `public` - 包含前端静态资源,如CSS、JavaScript和图片。其中,AngularJS的模块、服务和控制器可能会...
AngularJS是一种用于开发单页面应用程序的JavaScript框架,它将应用程序分割成模块(module)、服务(service)、指令(directive)等组件。在处理大型应用时,为了避免初始页面加载过慢,通常需要采用动态加载技术...