【问题标题】:typescript interface using other interface keys [duplicate]使用其他界面键的打字稿界面[重复]
【发布时间】:2018-12-12 12:59:53
【问题描述】:

我有 2 个打字稿接口:

interface IObject1 {
  propOne: string,
  propTwo: string,
  ...
}

interface IObject2 {
  'some.prefix.propOne': string,
  'some.prefix.propTwo': string,
  ...
}

有没有更短的方法可以从 IObject1 创建 IObject2 ?

【问题讨论】:

标签: typescript


【解决方案1】:

只是好奇你的具体用例是什么样子的,为什么你想拥有带有前缀的属性。

否则你可以使用extends ,例如

interface IObject2 extends IObject1 {
     // propOne and propTwo available without redeclaration
}

【讨论】:

  • 我正在使用一个外部模块,该模块具有道具,这些道具是我在模块上下文中使用的函数,但它们是扁平的。例如:this['some.prefix.someFunctionName']()。我仍然想保留一些层次结构,所以我添加了前缀
  • 嗯,这听起来很奇怪,而且是不好的做法。要么将原始模块分开并仅通过公共函数调用它,要么如果由于某些原因无法坚持使用原始名称。我不认为像这样重新映射函数是一个好主意。为什么要保留一些层次结构?
猜你喜欢
  • 1970-01-01
  • 2021-12-04
  • 2018-02-04
  • 2016-06-21
  • 2022-06-23
  • 1970-01-01
  • 2022-01-05
  • 2018-05-25
  • 2019-02-06
相关资源
最近更新 更多