我有一个Angular组件,我将type
添加到带有namespace
的Input属性,如下面的代码。
@Input() size: AMap.Size
AMap
是namespace
,类Size
是in。IDE和typescript编译器运行良好。但是,它在浏览器中不起作用。并抛出错误
Uncaught ReferenceError: AMap is not defined
我找到了编译后的代码
为什么类型会编译成代码?
AMap
类型如下
declare namespace AMap {
export class Size {}
}
谢谢
答案 0 :(得分:0)
我有类似的问题。我认为这与Typescript,webpack捆绑问题有关。你能尝试使用:
export module AMap {
export class Size {...}
}
而不是export namespace。 然后导入它并在组件中使用,如:
import { AMap } from './../..';
答案 1 :(得分:0)
对我有用的是在文件顶部使用类型别名,然后使用它。
type ASize = AMap.Size
...
@Input() size: ASize
我知道这只是一种解决方法,但也许对某人有用。