如何在 Angular 严格模式下正确访问对象的 "dynamic" 添加属性?
How to properly access "dynamic" added properties on Objects on Angular strict mode?
我正在使用 PrimeNG (Angular) 并且在严格模式下,它的文档案例之一是这样的:
if (window['Prism']) {
...any code
}
VSCode 向我展示了这个:Element implicitly has an 'any' type because index expression is not of type 'number'.
但是我不知道如何绕过这个错误..
我会像这样先将 window 转换为未知
(window as unknown).Prism
https://mariusschulz.com/blog/the-unknown-type-in-typescript
您可以声明它以告诉 TypeScript 编译器 属性 Prism
在其他地方定义:
declare interface Window { // NOTE: Capital "W"
Prism: any;
};
如果您知道 window.Prism
的实际类型,您可以指定它而不是 any
。
我正在使用 PrimeNG (Angular) 并且在严格模式下,它的文档案例之一是这样的:
if (window['Prism']) {
...any code
}
VSCode 向我展示了这个:Element implicitly has an 'any' type because index expression is not of type 'number'.
但是我不知道如何绕过这个错误..
我会像这样先将 window 转换为未知
(window as unknown).Prism
https://mariusschulz.com/blog/the-unknown-type-in-typescript
您可以声明它以告诉 TypeScript 编译器 属性 Prism
在其他地方定义:
declare interface Window { // NOTE: Capital "W"
Prism: any;
};
如果您知道 window.Prism
的实际类型,您可以指定它而不是 any
。