我试图找出如何“欺骗”编译器以为我正在使用某些定义。
我的构造函数中包含以下内容:
nv.addGraph(()=> {...})
在课前我说:
public nv:nv;
在我的模型中,我有:
export interface nv{
addGraph:any;
models:any;
utils:any;
}
但是,我仍然收到错误:
error TS2304: Cannot find name 'nv'.
我已经尝试了不同的方法,通过创建类:
export class nv{
addGraph:any
}
但后来我收到以下错误:
error TS2339: Property 'addGraph' does not exist on type 'typeof nv'.
有什么想法吗?
答案 0 :(得分:0)
您可以使用类型声明:
declare class nv {
addGraph: string;
}
var c = nv();
这会编译,但只有在您加载相应的库时才能正常工作。
答案 1 :(得分:0)
您可以使用declare var
并且不需要任何TypeScript类:
declare var nv;
nv.addGraph(()=> {
// something here
});