我将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中声明一个类?
以下答案(到目前为止)很有帮助,但我仍然不知道如何表达这个定义,或者即使它是可能的。
答案 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();
}
}
}