出口接口 - 无法"see the other"



这可能是一些基本的东西,但我是一个初学者,一位不再与我共事的同事在代码中留下了一些行为不同的东西。

我在下面有4个interfaces.ts文件

1.接口.ts

interface Pro{
id: number;
title: string;
}

2.接口.ts

interface Tar{
id: number;
title: string;
pros: Pro[];
}

正如你所看到的,Tar使用了一个Pro-s数组。工作良好

3.接口.ts

export interface Pay{
id: number;
title: string;
}

4.接口.ts

interface Prm{
id: number;
title: string;
pays: Pay[];
}

编辑在最后一行(pays:Pay[];(下添加了红色下划线,表示找不到名称"Pay"。建议的修复程序是导入{Pay},但当我们使用1 in 2时,这是不需要的。使用3/4可能不起作用;导出接口"?

如果我正在使用建议的修复程序,那么整个模块4(prm(看起来就像是在制动整个项目,ng build在50个地方崩溃

我不知道该改变什么,因为制作整个模块3和接口的人,让这个模块与其他模块不同。

谢谢

您确实需要导入不在同一文件中的任何类或接口。没有例外。要导入的任何类或接口都必须通过在类或接口名称前加上export来公开。

我不能说为什么你的编辑器没有抱怨在Tar中使用Pro而不导入它。它可能认为Pro是一个来自typescript、angular core或你正在导入的东西的内置类。

但最重要的是要记住,编辑在给你看红线时经常会犯错误。确定它是否已损坏的唯一方法是运行ng构建。

希望能有所帮助。

所以基本上我所做的是

  1. 导出添加到Prm too

  2. 添加导入{Pay}"…"在开始时

这就像滚雪球一样在使用Prm的地方到处崩溃。因此,我必须决定是在任何地方使用出口,还是在任何地方都不使用出口。

最新更新