> 文章列表 > Angular的重要概念

Angular的重要概念

Angular的重要概念

模块(Module)

模块是Angular应用程序的基本组成部分,每个应用程序都至少有一个模块。模块是一种将组件、指令、服务和管道组合在一起的方式。
定义模块的方式

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';@NgModule({declarations: [AppComponent,],imports: [BrowserModule,],providers: [],bootstrap: [AppComponent]
})
export class AppModule { }

上面的代码定义了一个名为AppModule的模块,该模块引入了BrowserModule和AppComponent,并将AppComponent设为启动组件。

组件(Component)

组件是Angular应用中的基本构建块,它们用于封装HTML模板、CSS样式和业务逻辑。@angular/core模块提供了@Component装饰器,可以用来定义组件。它是应用程序的可重用部分。每个组件都有一个视图和一个控制器,它们一起构成了组件的用户界面。

import { Component } from '@angular/core';@Component({selector: 'app-root',templateUrl: './app.component.html',styleUrls: ['./app.component.css']
})
export class AppComponent {title = 'My App';
}

上面的代码定义了一个名为AppComponent的组件,它有一个名为title的属性,它的值是"My App"。

指令(Directive)

指令是用于扩展HTML元素或属性的功能,它可以改变DOM元素的行为或外观。Angular有两种类型的指令:结构指令和属性指令。
@angular/core模块提供了@Directive装饰器,可以用来定义指令。
结构指令可以添加、删除或替换DOM元素,例如ngIf和ngFor。属性指令可以修改DOM元素的属性或样式,例如ngStyle和ngClass。

使用指令的方式如下:

<div *ngIf="showMessage">Hello, world!</div>

上面的代码使用了ngIf指令,如果showMessage为true,则显示"Hello, world!"。

服务(Service)

服务是Angular的另一个重要概念,它用于共享数据或业务逻辑。服务可以在组件之间共享,并且可以在应用程序的整个生命周期中使用。
@angular/core模块提供了@Injectable装饰器,可以用来定义服务。
定义服务的方式如下:

import { Injectable } from 'angular/core';
@Injectable({providedIn: 'root',
})
export class MyService {getData(): string {return 'Data from service';}
}

上面的代码定义了一个名为MyService的服务,它有一个名为getData的方法,返回字符串"Data from service"。

管道(Pipe)

管道是Angular的另一个重要概念,它用于转换或格式化数据。管道可以用于过滤、排序、格式化或转换数据。
@angular/core模块提供了@Pipe装饰器,可以用来定义管道。
使用管道的方式如下:

<p>{{ today | date }}</p>

上面的代码使用了date管道,它将日期格式化为默认格式。

常用语法

ng-app: 定义Angular应用程序
ng-controller:定义控制器
ng-model:绑定数据到表单元素
ng-bind:绑定数据到HTML元素
ng-repeat:循环数组或对象
ng-click:定义点击事件
ng-submit:定义表单提交事件

$scope

$scope:Angular中的作用域对象,用于在控制器和视图之间传递数据
$scope 是 AngularJS 中的一个对象,它用于在控制器和视图之间传递数据。$scope 对象是一个作用域,它定义了一个视图和其控制器之间的上下文关系。在控制器中可以使用 $scope 对象来定义数据和行为,然后在视图中使用这些数据和行为。
$scope 对象的一个重要特性是它可以继承。也就是说,如果一个控制器定义了一个 $scope 对象,那么在其子控制器中也可以访问该 $scope 对象。这种继承关系使得在应用程序中共享数据和行为变得非常容易。

在 AngularJS 中,$scope 对象是一个非常重要的概念,它是实现数据绑定和双向数据绑定的基础。通过使用 $scope 对象,我们可以实现模块化和可重用的代码,使得应用程序的开发变得更加简单和高效。

$http:Angular中的内置服务,用于发送HTTP请求
$filter:Angular中的内置服务,用于格式化数据
$location:Angular中的内置服务,用于获取和操作浏览器URL
$routeParams:Angular中的内置服务,用于获取路由参数
$timeout:Angular中的内置服务,用于延迟执行代码
$interval:Angular中的内置服务,用于定时执行代码

Angular的内置服务包括:

  1. HttpClient:用于进行HTTP请求和响应处理的服务。
  2. Router:用于导航和路由的服务。
  3. ActivatedRoute:用于获取当前激活的路由的信息。
  4. FormsModule:用于表单处理的服务。
  5. ReactiveFormsModule:用于响应式表单处理的服务。
  6. BrowserAnimationsModule:用于动画效果的服务。
  7. NgZone:用于管理Angular的变化检测和事件循环的服务。
  8. DatePipe:用于日期格式化的服务。
  9. DecimalPipe:用于数字格式化的服务。
  10. Title:用于设置页面标题的服务。
  11. Location:用于获取和操作浏览器地址栏的服务。
  12. PlatformLocation:用于处理跨平台的地址栏操作的服务。
  13. ErrorHandler:用于处理应用程序错误的服务。
  14. APP_INITIALIZER:用于在应用程序启动时执行初始化操作的服务。
  15. DOCUMENT:用于访问浏览器文档对象的服务。
  16. Forms:用于创建和管理表单控件以及验证表单数据的服务。
  17. Animation:用于在Angular应用中创建动画效果的服务。
  18. DomSanitizer:用于安全地处理HTML和CSS的服务。
  19. HttpInterceptor:用于在HTTP请求和响应之间进行拦截和修改的服务。
  20. TestBed:用于在测试中创建Angular组件和服务的服务。
  21. Localization:用于本地化Angular应用程序的服务。
  22. WebWorker:用于在Web Worker中运行Angular应用程序的服务。
  23. WebWorker:用于在Web Worker中运行Angular应用程序的服务。

依赖注入(Dependency Injection)

依赖注入是一种设计模式,用于解决对象之间的依赖关系。@angular/core模块提供了@Inject、@Injectable、@Optional、@SkipSelf等装饰器,可以用来实现依赖注入。

事件(Event)

事件是Angular应用中的重要机制,用于处理用户交互和应用程序状态的变化。@angular/core模块提供了@HostListener、@HostBinding等装饰器,可以用来处理事件。

动态组件(Dynamic Component)

动态组件是在运行时动态加载和创建组件的机制。@angular/core模块提供了ComponentFactoryResolver和ViewContainerRef等服务,可以用来实现动态组件。