我已经安装了谷歌地图的类型定义,声明了这样的命名空间:
namespace google.maps {
export class Map {
// ...
}
// ...
}
因此,如果我只是在全球范围内使用API,它的工作效果非常好:
const map = new google.maps.Map();
对于单元测试,我不想全局访问API,而是注入它。但似乎我无法通过类型google.map
所以这不起作用:
function mapFactory(api: google.maps) {
return new api.Map();
}
如何将命名空间用作类型的任何解决方案?
答案 0 :(得分:28)
尝试:
function mapFactory(api: typeof google.maps) {
return new api.Map();
}