【问题标题】:How to represent a variable key name in typescript interface?如何在打字稿界面中表示变量键名?
【发布时间】:2017-04-24 01:50:20
【问题描述】:
interface Items {
    id: Item,
}

id 不是可选的,但会有不同的名称

例如:

let items = {
34433ded : {name: "foo", price: 0.99},
14d433dee : {name: "bar", price: 1.99},
}

【问题讨论】:

    标签: typescript interface


    【解决方案1】:

    您可以通过以下结构来实现:

    interface Items {
        [key: string]: Item;
    }
    

    这是您的fiddle
    但是请记住,由于 JSON 规范,您的对象键不应该以数字开头,或者如果它们以数字开头 - 您必须将它们括在引号中(就像我在小提琴中所做的那样)

    【讨论】:

      【解决方案2】:

      类似:

      interface Item {
          name: string;
          price: string;
      }
      
      type Items = { [id: string]: Item }
      
      let items = {
          34433ded : {name: "foo", price: 0.99},
          14d433dee : {name: "bar", price: 1.99},
      } as Items;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-04
        • 2022-01-05
        • 2018-09-18
        • 1970-01-01
        • 1970-01-01
        • 2015-09-06
        • 2016-09-22
        • 2022-11-29
        相关资源
        最近更新 更多