Angular如何在整个应用程序中共享界面

tro*_*jan 5 typescript angular

所以我有一个interfaces.ts文件,看起来像这样:

export interface Auction{ $key?:string; $auctioneer:string;  ... }
export interface Item{ $key?:string; condition?:string; description?:string; ...}
export interface Bid{  $key?:string;  amount:number;  auction:string; ...}
and so on  ...
Run Code Online (Sandbox Code Playgroud)

现在,我可以通过调用以下命令将这些接口导入每个组件/服务中:

import { Auction,Item,Bid } from './interfaces';
Run Code Online (Sandbox Code Playgroud)

但是,如何导入interfaces.ts文件,以便所有接口在全球范围内都可用?

小智 0

您必须在要使用这些接口的每个组件/服务中导入interfaces.ts。

你能做的最接近的事情(也许可以节省一些写作)是:

    从 './interfaces' 导入 * as foo;

    var item: foo.Item;
    var 拍卖:foo.Auction;
    var bid: foo.Bid;

如果不导入interfaces.ts,它根本找不到接口的名称。