【问题标题】:Typescript definitions: how to declare class inside class打字稿定义:如何在类中声明类
【发布时间】:2015-02-25 10:50:17
【问题描述】:

我有两个 JavaScript 类,一个叫 AmazingMultiplier,一个叫 AmazingAdder。我正在努力编写 AmazingAdder 的打字稿定义。 javascript 文件如下所示:

MyModule.AmazingAdder = function(options){
     //some amazing code

 };

MyModule.AmazingAdder.Statuses={
   success: 1,
   failure: 2
};

我不确定如何在我的打字稿定义文件中声明状态对象。我的d.ts 文件看起来像:

declare module MyModule
{
  export class AmazingMultiplier
  {
       result: number;
       constructor(params: any?)
  }

 export class AmazingAdder
  {
     constructor(params: any?)
     class Statuses
     {
        success: number,
        failure: number
     }
  }

}

但是,在定义状态的“类”中,我得到了意外的标记。任何援助将不胜感激。我已阅读教程,但不明白我将如何做到这一点。

【问题讨论】:

  • 我认为你不能创建嵌套类
  • 我不太明白你想做什么。您能否更具体地说明您要实现的目标?
  • @George Nemes。这是一个人为的例子。我想做的就是学习如何在打字稿中的另一个类中声明一个类。重复的链接虽然有所帮助,但似乎有效

标签: javascript typescript


【解决方案1】:

您可以创建具有相同名称的类和模块。此外,您还需要为Statuses 使用枚举:

declare module MyModule {
    class AmazingAdder {
        constructor(params?: any);
    }
    module AmazingAdder {
        enum Statuses {
            success = 1,
            failure = 2,
        }
    }
}

【讨论】:

  • 还有其他潜在的解决方案。但这是我自己会做的最惯用的一个
猜你喜欢
  • 2022-11-02
  • 2019-05-05
  • 1970-01-01
  • 2019-02-16
  • 2020-09-12
  • 1970-01-01
  • 2019-11-12
  • 2018-11-06
  • 1970-01-01
相关资源
最近更新 更多