在做vue+typescript开发过程,给window对象添加属性并赋值,却发现报错,如类型“Window & typeof globalThis”上不存在属性“gspZc”。

原则上,TypeScript 需要开发者做到先声明后使用。这就导致开发者在调用很多原生接口(浏览器、Node.js)或者第三方模块的时候,因为某些全局变量或者对象的方法并没有声明过,导致编译器的类型检查失败。

通常情况下,我们给window对象赋值,只需求window.propoerty = 'xxx',但是在此处编译器或者检查器,并不认识window是个什么东东,所以给出了错误提示。

我这里我们只需要在某个*.d.ts声明下即可,declare的意思告诉编译器我知道Window是啥类型,它会跟全局下的Window类型自动合并,但是在这个文件中任意类型一定不能使用export导出(没想明白),否则会不好使。

// *.d.ts文件中
declare interface Window {gspZc: any
}

d.ts大名叫TypeScript Declaration File,存放一些声明,类似于C/C++的.h头文件(#include <stdio.h>)

另外,我们也可以直接把window断言成any绕过去

(window as any).gspZc

类型“Window typeof globalThis”上不存在属性“gspZc”相关推荐

  1. el表达式找不到属性的错误修改方法(`javax.el.PropertyNotFoundException: 类型[java.lang.String]上找不到属性[book])

    el表达式找不到属性的错误修改方法 报错信息: javax.el.PropertyNotFoundException: 类型[java.lang.String]上找不到属性[book] 在网上查找了很 ...

  2. 类型[com.entity.Student]上找不到属性[StuId]

    jsp中用EL表达式取值时出现类型[com.entity.Student]上找不到属性[StuId]错误 实体类 public class Student {private Integer StuId ...

  3. 解决方案:Vuetify 出现#activator={on,attrs}报错,类型“{ isActive: boolean; props: Record; }”上不存在属性“on”

    #activator或者v-slot:activator报错,不存在属性"on"或者"attrs" 类型"{ isActive: boolean; p ...

  4. 类型 never 上不存在属性

    场景 function testComponent {const ref = useRef(null);.....ref.current.<method>(); // 此处报错return ...

  5. angular踩坑:类型“HTMLElement”上不存在属性“selectedIndex”。ts(2339)

    原文链接:https://www.longkui.site/program/frontend/angular-htmlelement/4934/ 0.背景 报错如下: 类型"HTMLElem ...

  6. 定义一个Ladder类用来刻画“梯形”,要求:Ladder类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能。

    定义一个Ladder类用来刻画"梯形",要求:Ladder类具有类型为double的上底.下底.高.面积属性,具有返回面积的功能. 基本思路: 根据题意要求,我们需要写一个Ladd ...

  7. Angular5 Angular6类型“ObservableResponse”上不存在属性“map”

    Angular5: 类型"Observable<Response>"上不存在属性"map", 引入: import 'rxjs/add/operat ...

  8. [JS]js中判断变量类型函数typeof的用法汇总[转]

    1.作用: typeof 运算符返回一个用来表示表达式的数据类型的字符串.  可能的字符串有:"number"."string"."boolean&q ...

  9. CSSStyleDeclaration 上不存在属性、cssText

    场景 用 ts 给某个 dom 元素增加样式的时候,有时会报错: window.onload = function () {document.body.style.zoom = 0.5; }; 类型& ...

最新文章

  1. flex 单独一行_Flex布局从了解到使用只需5min
  2. Toby Walsh教授:四个指数趋势解释人工智能威胁论!
  3. 机会的度量:概率和分布
  4. linux c 实现try catch异常捕获
  5. 艰难的这年,程序员的未来在哪里?
  6. 《系统集成项目管理工程师》必背100个知识点-14项目章程的内容
  7. Lucene支持中文分词代码实现
  8. Logisim 一个PLA电路
  9. 不同坐标系下角速度_最伟大的数学发明,坐标系的诞生,是人类史上的方向盘...
  10. php width,PHP imagefontwidth()用法及代码示例
  11. 关于Debug和Release之本质区别的讨论(转载)
  12. redis 介绍和常用命令
  13. Vue事件绑定(非常详细哦~)
  14. python 判断数字连续_零基础如何自学python? 这些知识点是你进阶的必经之路
  15. 步步惊心插曲 - 歌词
  16. Mac Workbench建数据库关系图
  17. 易捷行云EasyStack携新一代私有云亮相中国电子信息博览会
  18. 西部学刊杂志西部学刊杂志社西部学刊编辑部2022年第14期目录
  19. hrbust 1611 最强兵力【二维费用完全背包+分类处理】
  20. linux磁盘相关命令,Linux 磁盘相关命令整理

热门文章

  1. word文档中的毕业论文的页眉与页脚设置
  2. 谈谈大数据时代企业如何进行数据治理体系建设
  3. 电商网站商品详情架构
  4. 三个人的友谊显的有些拥挤了...
  5. PCA为什么要进行中心化
  6. JavaBean为什么需要序列化?
  7. C语言中汉字的存储和输出
  8. 中国版权保护中心注册流程(含实名认证)
  9. 信息隐藏 !!!!!!!!!!!!!
  10. iOS控件设置虚线框