每当我运行项目时,我都会收到以下警告:
Circular dependency detected: src/app/Dashboard/dashboard.module.ts -> src/app/Dashboard/finance.service.ts -> src/app/Dashboard/dashboard.module.ts
在我的finances.service中,我有一个函数可以创建一个“Statistics”类型的对象,这是我在dashboard.module中定义的类
仪表板模块
export class Stadistics {
mod: number;
min: number;
max: number;
}
金融服务
getStatistics(array: Array<number>) {
const stats = new Statistics;
stats.max = 0;
stats.min = 0;
stats.mod = 0;
}
我还尝试使用:const stats:Statistics=newStatistics;但我不断收到同样的警告。知道为什么会发生这种情况吗?
最佳答案
这种情况下的标准方法是将导致循环依赖的声明移动到单独的源文件中。所以,它可能看起来像这样:
statistics.class.ts
export class Statistics {
mod: number;
min: number;
max: number;
}
finance.service.ts
import {Statistics} from './statistics.class';
....
....
....
getStatistics(array: Array<number>) {
const stats = new Statistics();
stats.max = 0;
stats.min = 0;
stats.mod = 0;
}
dashboard.module.ts
import {Statistics} from './statistics.class';
// use it here where you need it.
当然,您需要非常仔细地考虑如何拆分源,这样才有意义。
关于angular - Angular 4 中的循环依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46379824/