
Angular 是一个用 HTML 和 JavaScript 或者一个可以编译成 JavaScript 的语言(例如 Dart 或者 TypeScript ),来构建客户端应用的框架。
该框架包括一系列库,有些是核心库,有些是可选库。
我们是这样写 Angular 应用的:用 Angular 扩展语法编写 HTML模板, 用组件类管理这些模板,用服务添加应用逻辑, 用模块打包发布组件与服务。
然后,我们通过引导根模块来启动该应用。 Angular 在浏览器中接管、展现应用的内容,并根据我们提供的操作指令响应用户的交互。
当然,这只是冰山一角。后面我们将学习更多的细节。不过,目前我们还是先关注全景图吧。


Angular 应用是模块化的,并且 Angular 有自己的模块系统,它被称为Angular 模块或NgModules。
Angular 模块很重要。这里只是简单介绍,在Angular 模块中会做深入讲解。
每个 Angular 应用至少有一个模块(根模块),习惯上命名为AppModule。
根模块在一些小型应用中可能是唯一的模块,大多数应用会有很多特性模块,每个模块都是一个内聚的代码块专注于某个应用领域、工作流或紧密相关的功能。
Angular 模块(无论是根模块还是特性模块)都是一个带有@NgModule装饰器的类。
装饰器是用来修饰 JavaScript 类的函数。 Angular 有很多装饰器,它们负责把元数据附加到类上,以了解那些类的设计意图以及它们应如何工作。 关于装饰器的。
NgModule是一个装饰器函数,它接收一个用来描述模块属性的元数据对象。其中最重要的属性是:
declarations- 声明本模块中拥有的视图类。Angular 有三种视图类:、和管道。
exports- declarations 的子集,可用于其它模块的组件。ts文件下载
imports-本模块声明的组件模板需要的类所在的其它模块。
providers-的创建者,并加入到全局服务列表中,可用于应用任何部分。
bootstrap- 指定应用的主视图(称为根组件),它是所有其它视图的宿主。只有根模块才能设置bootstrap属性。
下面是一个简单的根模块:
src/app/app.module.ts
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 { }
AppComponent的export语句只是用于演示如何导出的,它在这个例子中并不是必须的。根模块不需要导出任何东西,因为其它组件不需要导入根模块。
我们通过引导根模块来启动应用。 在开发期间,你通常在一个main.ts文件中引导AppModule,就像这样:
src/main.tsimport { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic().bootstrapModule(AppModule);
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-55834-1.html
等我们军舰赶过去
这年头
老美如果没多少牌了
只求真相
思路真的是太清晰了