Файл определения Typescript — HelloWorld

#jquery #typescript #typescript-typings

#jquery #typescript #typescript-типизации

Вопрос:

Newbie Question

У меня есть файл TypeScript, который использует расширение для jQuery:

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

Я пытаюсь написать файл определения для stuff , но застрял. Я попробовал это:

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

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

TypeScript intellisence в Visual Studio улавливает "Stuff" , но не removeAll()

Ответ №1:

То, как я вижу это возможным, не копая слишком много, — это псевдоним stuff объекта с JQueryStatic объединенным объявлением интерфейса.

 interface JQueryStatic {
    stuff: JQueryStuff.Stuff;
}
  

Дайте мне знать, если это касается вашего случая.

Ответ №2:

Вот как — Полный ответ

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


interface JQueryStatic {

   stuff: Stuff;

}