Magnific弹出窗口的打字稿定义文件

时间:2016-10-20 10:08:05

标签: javascript jquery typescript

我对Typescript很新,我对Mangific Popup Lightsout插件有一个问题,而且类型脚本不能很好用。

所以我在我的' typings'中创建了一个新文件夹。文件夹并将其添加到typings根文件夹中的index.d.ts。我认为它正确使用它但我不知道如何制作文件。

这就是我所做的,

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 个答案:

答案 0 :(得分:3)

我有(或似乎是)此插件的工作定义文件。

//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'
      }
});

这就是为什么我添加了一个' open'使用最后一个界面,但我不确定这是最好的方法吗?

非常感谢。