首页 > 解决方案 > Angular `@Input()` 类型在运行时是 `undefined`

问题描述

我有一个 Angular 组件,并使用以下代码 type向 Input 属性添加一个。namespace @Input() size: AMap.Size

AMap是一个namespace和里面的类Size。IDE和打字稿编译器工作得很好。但是,它在浏览器中不起作用。并抛出 Uncaught ReferenceError: AMap is not defined 我找到编译代码的错误

在此处输入图像描述

为什么类型会编译成代码?

类型AMap如下

declare namespace AMap {

    export class Size {}

}

谢谢

标签: javascripttypescriptangular-cli

解决方案


对我有用的是在文件顶部使用类型别名,然后使用它。

type ASize = AMap.Size

...

@Input() size: ASize

我知道这只是一种解决方法,但也许对某人有用。


推荐阅读