You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 13获取window对象属性报隐式any类型错误如何解决

修复方案

首先说明suppressImplicitAnyIndexErrors配置失效的原因:

  • 该配置项自 TypeScript 4.4 版本起已正式废弃,Angular 13 默认搭载 TS 4.4+ 版本,配置不再生效
  • 若项目启用了 ESLint 校验,TSConfig 配置无法覆盖 ESLint 的no-implicit-any类规则,因此报错仍然存在

以下是三种可行的修复方案,按推荐优先级排序:

方案1:安装Stripe官方类型包(最推荐)

直接安装Stripe官方提供的类型定义包,自动注入全局Window接口的Stripe类型声明:

  1. 执行安装命令:
    npm install @stripe/stripe-js --save
  2. 安装完成后直接改写原代码即可,无需方括号索引:
private _stripe: StripeFactory = window.Stripe;

方案2:手动扩展全局Window接口

如果不想引入额外依赖,可以手动添加全局类型声明:

  1. 在项目src目录下新建global.d.ts类型声明文件
  2. 写入以下内容:
export {};
declare global {
  interface Window {
    Stripe?: StripeFactory;
  }
}
  1. 确认tsconfig.json的include数组包含src/**/*.d.ts,类型声明会自动生效,原代码可改为直接访问window.Stripe。

方案3:临时类型断言(适合快速测试)

如果只是临时调试,可以直接对window做any类型断言跳过校验:

private _stripe: StripeFactory = (window as any)['Stripe'];

注意:该方案会丢失类型校验,不推荐在正式项目中长期使用

内容的提问来源于stack exchange,提问作者Ole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 23:45:07