角度,无法解析组件的所有参数

时间:2018-07-19 14:52:54

标签: angular typescript

错误信息:

Error: Can't resolve all parameters for LoginCompComponent: ([object Object], [object Object], [object Object], [object Object], ?).
Evaluating src/main.ts
Booting application

该组件如下所示:

导入:

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import {MatSnackBar} from '@angular/material';
import { MatButtonModule, MatCheckboxModule } from '@angular/material';
import { OverlayReference } from './overlay-ref';

import { UsersService } from '../service/users.service';
import { OverlayService } from '../service/overlay.service';
import {TranslatePipe} from '../service/translate.pipe';
import {TranslationService} from '../service/translation.service';

构造者:

  constructor(
    private router: Router,
    private usersService: UsersService,
    //private overlay: OverlayService,
    public translationService: TranslationService,
    public snackBar: MatSnackBar,
) {}

奇迹是,如果您注释overlay:OverlayService,它将很好地工作;如果我取消注释此行,它将消失,并在开头出现错误消息。有什么想法吗?

Here是一个StackBlitz链接,如果您想查看全部内容。

2 个答案:

答案 0 :(得分:1)

TypeScript模块之间具有循环依赖关系:OverlayService导入LoginComponent,而LoginComponent导入OverlayService。

重构代码以避免这种情况。

答案 1 :(得分:1)

您可以在 OverlayService 中导入import { LoginCompComponent } from '../login-comp/login-comp.component',也可以在 LoginComponent 中导入import { OverlayService } from '../service/overlay.service';

非常不好的做法:)需要重构

相关问题