首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解析...的所有参数...([对象对象],[对象对象],?,?)

无法解析...的所有参数...([对象对象],[对象对象],?,?)
EN

Stack Overflow用户
提问于 2019-04-15 21:56:05
回答 1查看 8.1K关注 0票数 3

我被放在别人的代码上,有一个类被用作其他组件的基础。当我尝试ng serve -aot(或build --prod)时,我得到了以下信息。

代码语言:javascript
复制
    @Component({
      ...,
      providers: [NgProgress]
    })
    export class ReferentielComponent {
        vars...

      constructor(referentielService: ReferentielService, ngProgressService: NgProgress, referentielName: string, referentielViewName: string) {
        this.ngProgressService = ngProgressService;
        this.referentielName = referentielName;
        this.referentielViewName = referentielViewName;
        this.referentielService = referentielService;
      }
    }

其中一个扩展

代码语言:javascript
复制
    @Component({
      ...,
      providers: [ReferentielService, NgProgress ]
    })
    export class ProgrammeComponent extends ReferentielComponent {
      constructor(referentielService: ReferentielService, ngProgressService: NgProgress ) {
        super(referentielService, ngProgressService, "programme", "programme");
      }
    }

ReferentielService

代码语言:javascript
复制
@Injectable()
export class ReferentielService {

  private referentielUrl = environment.restApiUrl + '/referentiel';
  constructor(private _http: HttpClient) { }

  getReferentiels(tableName: string) {
    return this._http.get<Referentiel[]>(this.referentielUrl + '/' + tableName);
  }
}

我得到了

代码语言:javascript
复制
Failed to compile.

Can't resolve all parameters for ReferentielComponent in /src/app/components/referentiel/referentiel.component.ts: ([object Object], [object Object], ?, ?).

我已经尝试设置默认值,但无法理解或使用我在SO上看到的其他情况。

我在做Angular 4。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-16 15:25:03

编译器无法理解字符串是什么,因为他无法在编译时辨别。因此,您必须使用@Inject()手动告诉他

在这种情况下,我的构造函数将如下所示:

代码语言:javascript
复制
constructor(referentielService: ReferentielService, ngProgressService: NgProgress, @Inject("") referentielName: string, @Inject("") referentielViewName: string) {

我个人不需要注入空字符串以外的任何东西,至少现在是这样。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55690785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档