Файл определения Typescript для всплывающего окна Magnific

#javascript #jquery #typescript

#javascript #jquery #typescript

Вопрос:

Я очень новичок в Typescript, и у меня проблема с плагином Mangific Popup lightsout, и type script не работает с ним.

Итак, я создал новую папку в своей папке «typings» и добавил ее в index.d.ts в корневой папке typings. Я думаю, что он использует его правильно, но я просто не знаю, как создать файл.

Это то, что я сделал,

 interface JQuery {
   magnificPopup(callback?: () => void): JQuery;
}

interface JQueryStatic {
  address: JQueryMagnificPopupStatic;
}

interface JQueryMagnificPopupStatic {
  (): JQuery;
  parameter(name: string): string;
  parameter(name: string, value: string, append?: boolean): JQuery;
}
  

Теперь этот код взят из другого поста на SO. Но я не уверен, что делать?

Я сталкивался с dt-gen, но, похоже, это работает только на модулях узла? Как мне его использовать, если нет модуля узла, только файл .js?

Спасибо.

Ответ №1:

У меня есть (или кажется, что есть) файл определения работы для этого плагина.

 //Magnific Popup Definition File

interface JQuery {
  magnificPopup(callback?: () => void): JQuery;
}

interface JQueryStatic {
  magnificPopup: JQueryMagnificPopupStatic;
}

interface JQueryMagnificPopupStatic {
  open: any;
  (): JQuery;
  parameter(name: string): string;
  parameter(name: string, value: string, append?: boolean): JQuery;
}
  

Пожалуйста, поправьте меня, если я каким-либо образом ошибаюсь для этого типа файла. Для записи, вот как я открыл свой div,

 $.magnificPopup.open({
      items: {
        src: '#DivIDHere',
        type: 'inline'
      }
});
  

Вот почему я добавил «открыть» с последним интерфейсом, но я не уверен, что это лучший способ сделать это?

Большое спасибо.