我可以在TypeScript中为对象字段分配接口吗



我有这个对象:

export class Section{
singleLabel:string;
pluralLabel:string;
index:number;
dataInterface:Interface;
}

我需要为字段dataInterface分配一个接口,因为在某些组件/服务中,我必须使用Section对象来确定我必须传递给此方法的接口类型:

httpClient.get<section.dataInterface>(url);

这是我应该分配给字段的接口之一dataInterface:

export interface Idata { 
numeroPagina:number;
numeroElementiPerPagina:number;
numeroTotaleElementi:number;
}

我需要做这样的事情:

section.dataInterface = Idata;
httpClient.get<section.dataInterface>(url);

有没有一种方法可以将接口放入对象字段中?谢谢

答案是否定的,不能将接口用作值。接口未编译为javascript,在运行时不可用:

接口只包含方法和字段的声明,而不包含实现。我们不能用它来建造任何东西。

当Typescript编译器将其编译为JavaScript时接口将从JavaScript文件中删除。因此,其目的只是在开发阶段提供帮助。

链接

如果我没有错的话,您想要做的是使用嵌套接口using interface。以下是实现。可以使用括号表示法访问嵌套接口。


// type declarations
interface Idata {
numeroPagina: number;
numeroElementiPerPagina: number;
numeroTotaleElementi: number;
}
interface ISection {
singleLabel: string;
pluralLabel: string;
index: number;
dataInterface: Idata;
}
//  implementation
httpClient.get<ISection["dataInterface"]>(url);
export class Section implements ISection {}

相关内容

  • 没有找到相关文章

最新更新