打字稿定义文件 - HelloWorld

时间:2016-10-11 18:51:34

标签: jquery typescript typescript-typings

Newbie Question

我有一个使用jQuery扩展的TypeScript文件:

function Something() {
     $.stuff.removeAll(); 
}

我正在尝试为stuff编写一个定义文件,但卡住了。我试过这个:

declare namespace JQueryStuff {
  interface Stuff{
    removeAll(): void;
  }
}

interface JQueryStatic {
    stuff(): JQueryStuff.Stuff;
}

Visual Studio中的TypeScript intellisence选择"Stuff"但不是removeAll()

2 个答案:

答案 0 :(得分:1)

我认为可以不用太多挖掘的方式是使用stuff合并的接口声明对JQueryStatic对象进行别名化。

interface JQueryStatic {
    stuff: JQueryStuff.Stuff;
}

如果这涵盖您的情况,请告诉我。

答案 1 :(得分:0)

以下是如何 - 完整答案

interface Stuff{
removeAll(): void;
add(options: {
    title: string;
    text: string;
    class_name: string;
    sticky: boolean;
   });
}


interface JQueryStatic {

   stuff: Stuff;

}