Angular中的依赖注入
来自菜鸟教程
依赖注入 (DI) 是 Angular 2+ 的核心概念,它允许一个类从另一个类接收依赖项。 大多数情况下,在 Angular 中,依赖注入是通过将服务类注入到组件或模块类中来完成的。
例如,您将如何定义可注入服务。 特别注意突出显示的部分:
服务:popcorn.service.ts
import { Injectable } from '@angular/core'; @Injectable() export class PopcornService { constructor() { console.log("Popcorn has been injected!"); } cookPopcorn(qty) { console.log(qty, "bags of popcorn cooked!"); }
下面是如何将我们的 Popcorn 服务注入到组件中:
组件:app.component.ts
import { Component } from '@angular/core'; import { PopcornService } from './popcorn.service'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'], providers: [PopcornService] }) export class AppComponent { constructor(private popcorn: PopcornService) {} cookIt(qty) { this.popcorn.cookPopcorn(qty); }
模板中的cookIt()方法调用注入服务中的cookPopcorn()方法。 让我们在模板中使用我们的 cookIt() 方法:
模板:app.component.html
<input type="number" #qty placeholder="How many bags?"> <button type="button" (click)="cookIt(qty.value)"> Cook it! </button>