javascript - 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 {}
}
谢谢
解决方案
对我有用的是在文件顶部使用类型别名,然后使用它。
type ASize = AMap.Size
...
@Input() size: ASize
我知道这只是一种解决方法,但也许对某人有用。
推荐阅读
- c# - foreach 循环 ASP.Net 核心 MVC 的问题
- reactjs - 使用 Firebase 推送通知的 Web 通知在 Chrome 中运行良好,但在 Microsoft Edge (windows)、Mozila firefox 浏览器中无法运行
- mysql - mysql json vs mongo - 存储空间
- pyspark - 为什么我的 pyspark pivot groupBy 字段总是显示在 df 的末尾?
- python - 从列表中的字典值中删除 Nan
- python - 在不使用if的情况下从字典中获取值到python中另一个字典的最快方法?
- node.js - 如何将 mysql 查询转换为 mongodb 查询?
- python - Discord.py 重写机器人不会改变我的昵称
- powershell - PowerShell PowerBI cmdlet 查找链接/共享数据集
- kubernetes - 只读入口资源 kubernetes 用户