在组件中检测到角圆依赖性

时间:2019-01-11 10:32:31

标签: angular

我有2个组件,每个组件都需要其他组件来导入。导入时会在终端“检测到循环依赖项”中给出警告。

我的组件代码如下:

组件1

import { ReservationDateInfoComponent } from 'app/modules/reservation-date-info.component';

    export class RateInfoComponent implements OnInit {

      constructor(private dialog: MatDialog){}

      openDateInfo(){
        this.dialog.open(ReservationDateInfoComponent, { width: '1000px'});
      }


    }

组件2

import { RateInfoComponent } from '../../../core/shared/components/rate-info/rate-info.component';

export class ReservationDateInfoComponent implements OnInit {
  constructor(private dialog: MatDialog){}

  openRateInfo(){
    this.dialog.open(RateInfoComponent, { width: '1000px'});
  }
}

1 个答案:

答案 0 :(得分:-1)

显然会出现循环依赖关系,因为在 ReservationDateInfoComponent 中,您导入 RateInfoComponent ,即再次导入 ReservationDateInfoComponent

以下描述了您的圈子:

RateInfoComponent -> ReservationDateInfoComponent -> RateInfoComponent ....

可能的解决方案

其他组件可以导入所有需要的模态并连续显示。听起来您还需要在模态组件之间传输数据。这可以通过使用Observables来实现。这样,您的第三个组件应订阅每个模式以获取其数据。