我的应用程序中有以下模块:
在Loader.ts中:
module Loader {
export default class FLoader {
constructor () {}
// blahblahblah...
}
}
在Renderer.ts中:
import Loader from "../Loader";
module Renderer {
export default class FRenderer {
constructor () {}
public SomeFunction(): void {
let myLoader = new Loader(); // error: Cannot use 'new' with an expression whose type lacks a call or construct signature
}
}
}
我在代码中发现错误:无法使用' new'表达式缺少调用或构造签名的表达式
我正在关注文档here。我做错了什么?
答案 0 :(得分:1)
我认为它应该是:
export module Loader {
export class FLoader {
constructor () {}
// blahblahblah...
}
}
然后:
import * as Loader from "./Loader";
let myLoader = new Loader.FLoader();
至少这对我有用。
正如@JimW评论的那样,这段代码不起作用,它应该像这样使用:
let myLoader = new Loader.Loader.FLoader();
为了使它成功,它应该是:
// Loader.ts
export class FLoader {
constructor () {}
// blahblahblah...
}
然后导入它:
import * as Loader from "./Loader";
let myLoader = new Loader.FLoader();
没有必要为module
创建Loader
,因为它只是通过使用不同的文件来实现。