【问题标题】:Typescript Object Class members are defined with interface打字稿对象类成员是用接口定义的
【发布时间】:2021-03-03 02:10:56
【问题描述】:

在 Typescript 中,如何定义 Object Const,但要确保项目成员在接口中?

目前有这个:

export const FrequencyType = {
  Weekly: { id: 1, code: 'Weekly', description: 'Weekly Description'},
  Annual: { id: 2, code: 'Annual', description: 'Annual Description'}
}

目的:

使用 LookupVm 接口,这会报错

export const FrequencyType = {
  Weekly: LookupVm: { id: 1, code: 'Weekly', description: 'Weekly Description'},
  Annual: LookupVm: { id: 2, code: 'Annual', description: 'Annual Description'}
}

参考:

export interface LookupVm {
  id: number;
  code: string;
  description: string;
}

【问题讨论】:

    标签: angular typescript


    【解决方案1】:

    创建如下界面

    export default interface LookupVm{
    id:number,
    code:string,
    description: string
    }
    

    然后在 const 中使用就好了

    export const FrequencyType :{
    Weekly: LookupVm,
    Annual: LookupVm
    }= {
      Weekly: { id: 1, code: 'Weekly', description: 'Weekly Description'},
      Annual: { id: 2, code: 'Annual', description: 'Annual Description'}
    }
    

    【讨论】:

    • 我发布了一个解决方案,但是我认为您的解决方案更好,谢谢,
    • 为了允许任意键,可以使用 Record
    【解决方案2】:

    这是一种解决方案,但是 Hitech 解决方案也可以使用

    export const FrequencyType = {
      Weekly: { 
        id: 1, 
        code: 'Weekly', 
        description: 'Weekly Description' 
      } as LookupVm,
      Annual: { 
        id: 2, 
        code: 'Annual', 
        description: 'Annual Description' 
      } as LookupVm
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-24
      • 2018-02-22
      • 2019-10-31
      • 1970-01-01
      • 2022-01-26
      • 2021-10-31
      • 2018-10-10
      相关资源
      最近更新 更多