在typescript

时间:2016-10-01 14:43:03

标签: typescript inner-classes

我可以成功声明一个这样的嵌套类:

class Outer {
    static Inner = class Inner {

    };
}

但是,我希望我的外部类能够拥有我内部类的一些实例:

class Outer {
    constructor() {
        this.inners = [new Outer.Inner()];
    }
    static Inner = class Inner {

    };

    inners: Array<Inner>; // this line errors
}

this gives me error TS2304: Cannot find name 'Inner'

我该如何做到这一点?

1 个答案:

答案 0 :(得分:1)

不确定这可以通过这种方式实现,但作为解决方法:

class Outer {
    inners: Array<Outer.Inner>;
}

namespace Outer {
    export class Inner {
    }
}

注意:必须在命名空间

之前定义类

in action