# 理解 Angular
要了解 Angular 框架的功能,你需要了解以下内容:
- 组件
- 模板
- 指令
- 依赖注入
# 组件
组件是构成应用的砖块。组件包括三个部分:
- 带有 @Component() 装饰器的 TypeScript 类
- HTML 模板
- 样式文件
创建组件
ng generate component <component-name>
import { Component } from '@angular/core';
@Component({
selector: 'app-component-overview',
templateUrl: './component-overview.component.html',
styleUrls: ['./component-overview.component.css']
})
export class ComponentOverviewComponent {
}
# 模板
每个组件都有一个 HTML 模板,用于声明该组件的渲染方式。
在 Angular 中,模板是用户界面 (UI) 片段的蓝图。模板是用 HTML 编写的,可以在模板中使用特殊语法来构建 Angular 的许多特性。
# 指令
指令是为 Angular 应用程序中的元素添加额外行为的类。使用 Angular 的内置指令,你可以管理表单、列表、样式以及要让用户看到的任何内容。
# 依赖注入
依赖注入让你可以声明 TypeScript 类的依赖项,而无需操心如何实例化它们。
// logger.service.ts
import { Injectable } from '@angular/core';
@Injectable({providedIn: 'root'})
export class Logger {
writeCount(count: number) {
console.warn(count);
}
}
// hello-world-di.component.ts
import { Component } from '@angular/core';
import { Logger } from '../logger.service';
@Component({
selector: 'hello-world-di',
templateUrl: './hello-world-di.component.html'
})
export class HelloWorldDependencyInjectionComponent {
count = 0;
constructor(private logger: Logger) { }
onLogMe() {
this.logger.writeCount(this.count);
this.count++;
}
}