TypeScript是否支持命名空间类的类声明?

时间:2016-04-27 01:25:55

标签: typescript marionette

我将JavaScript代码转换为TypeScript,并坚持转换我的类定义的最佳方式。

它们是从Marionette扩展而来的,并且类名是命名空间。例如,这个JavaScript使用' xyz'名称空间:

xyz.Marionette.AppRouter = Marionette.AppRouter.extend({
    instance_name: "AppRouter",

     functionName: function(options) {
     }
});

我尝试在TypeScript中创建等效的类命令:

class xyz.Marionette.AppRouter extends Marionette.AppRouter {

但似乎不支持此语法。

是否可以使用命名空间在TypeScript中声明一个类?

以下答案(到目前为止)很有帮助,但我仍然不知道如何表达这个定义,或者即使它是可能的。

2 个答案:

答案 0 :(得分:0)

  

class nameSpace.Marionette.AppRouter扩展了Marionette.AppRouter {

声明命名空间,然后类:

.replace

答案 1 :(得分:0)

我试过嘲笑这个但是在引用基础AppRouter时遇到了问题,因为命名空间是相同的。如果我添加" base"的限定符,它就有效。到第一个命名空间..

namespace base.Marionette {

    export class AppRouter {

        Foo() {
            return "Hello";
        }
    }
}

namespace nameSpace.Marionette {

    export class AppRouter2 extends base.Marionette.AppRouter {

        Bar() {
            var hello = this.Foo();
        }
    }
}