Angular中服务的依赖注入
Providers
依赖注入有四种注入过程,即使用类,使用工厂,使用值,使用别名
angular的依赖注入可以分为三个步骤:
1、得到依赖项
2、查找依赖项所对应的对象
3、执行时注入
使用类 useClass
{provide:FruitService,useClass:FruitService}
这是比较常见的情形,通常如果provide的值和useClass的值一样,我们可以简化[FruitService]
在app.module.ts
使用 useValue
{ provide: BservicesService, useValue: '使用useValue' }
.BservicesService服务
import {
Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class BservicesService {
constructor() {
}
}
.WqTestComponent
export class WqTestComponent implements OnInit {
public data: any;
message = 'I am test';
private list = '服务的运用';
constructor(
public bservices: BservicesService,
) {
console.log('Bservices==>', this.bservices); // 输出 Bservices==> 使用useValue
}
使用别名 useClass
providers: [
AnimalService,
{provide:FruitService,useClass:AnimalService}
]
// 使用别名 这种情况下会创建两个AnimalService实例
.AnimalService
@Injectable()
export class AnimalService {