在装饰器中使用时,我可以安全地忽略循环依赖性警告吗?

时间:2017-12-07 05:27:11

标签: angular typescript angular-cli

我有两个类定义如下:

// src/app/my-mapper.ts
export class MyMapper implements Mapper<MyModel> {
  public mapTo(source: any): MyModel {
    // map stuff...
  }
}

// src/app/my-model.ts
@mappedBy(MyMapper)
export class MyModel {
  // fields etc...
  public someFunction(): void {
    // stuff...
  }
}

我的代码有效(我使用MapperWorker将普通JS对象映射到具体对象,在本例中为MyModel),我可以调用myModel.someFunction();

但是,编译时会收到以下警告:

  

检测到循环依赖关系中的警告:src / app / my-mapper.ts - &gt;   src / app / my-model.ts - &gt; SRC /应用程序/我的-mapper.ts

     

检测到循环依赖项中的警告:src / app / my-model.ts - &gt;   src / app / my-mapper.ts - &gt; SRC /应用程序/我的-model.ts

我不知道我的代码是否有问题,或者是否可以安全地忽略此警告,如果可以安全地忽略,那么抑制它的最佳方法是什么?

我不确定该错误是由Typescript编译器还是Angular CLI生成的。将类移动到同一个文件(首先使用mapper)会消除警告,但我不想这样做。

1 个答案:

答案 0 :(得分:1)

  

我不知道我的代码是否存在问题,或者是否可以安全地忽略此警告,如果可以安全地忽略,那么抑制它的最佳方法是什么

没有。您可能会获得运行时undefined

快速修复

将三个文件合并为一个。他们已经紧密结合了。