在TypeScript中如何在window上定义对象

比如我们要在window上定义 Jim

最简单的方法就是将window强制类型转换成any,但是不推荐!

(window as any).Jim=233;

推荐方法:

在项目中找到*.d.ts 文件 加上以下代码即可:

interface Window {
  Jim: any; //注意这里如果不写any那么用window.jim是可以的,但是用window.jim.hu 就会报错
}

同样的比如用了JQuery的扩展方法:

$.fn.extend({
    cvOffSet() {
        // target in here should be js obj
        const _this: any = this;
        let top = 0;
        let left = 0;
        let target = _this[0];

        // when target is body it offsetParent will be null,so can match cvWindowTarget
        while (target.offsetParent) {
            top += target.offsetTop;
            left += target.offsetLeft;
            target = target.offsetParent;
        }

        return {
            top,
            left,
        };
    }
});

那么在ts中使用:

$("#ele").cvOffSet().top

同样要在项目中找到*.d.ts 文件 加上以下代码:

interface JQuery {
  cvOffSet(): any; //注意这样同样要用any,不然cvOffSet().top后的.top会报错
}

 

上一篇:HIve通过mysql元数据表删除分区


下一篇:计算机是如何执行代码的?