angular中服务b依赖服务a如何export

1.服务b依赖与服务a的一般情况

一个模块中的一个一个组件,AbComponent,其中需要注入服务BService。

import {Component} from '@angular/core';
import {BService} from './b.service';

@Component({
  template: ''
})
export class AbComponent {
  constructor(private b: BService) {
    this.b.sayB();
  }
}

Bservice是这样的:

import {Injectable} from '@angular/core';
import {AService} from './a.service';

@Injectable()
export class BService {
  constructor(private a: AService) {

  }

  sayB() {
    this.a.sayA();
    console.log('i am b');
  }
}

代码很简单,Bservice中依赖AService。AService是这样的:

import {Injectable} from '@angular/core';

@Injectable()
export class AService {
  constructor() {

  }

  sayA() {
    console.log('i am a');
  }
}

可以在模块中配置如下:

  providers: [BService, AService],

2. 特殊情况

看起来没啥特殊的,但是如果AService我们拿不到呢,该怎么办,
方法就是在Bservice中导出Aservice
比如我们在Bservice中添加下面一行:

export const AB = [AService, BService];

如此一来,需要在模块中:

  providers: [AB],

这样就曲线解决了问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值