/ / “La cible de l'appel ne contient aucune signature” pour l'appel de super () sans le fichier de typage - typescript

«La cible de l'appel ne contient aucune signature» pour l'appel de super () sans le fichier de typage - typescript

J'essaie de faire Polymer 2.0 fonctionne avec Typescript et rencontre des problèmes lors de la création d’un constructeur où les bibliothèques, y compris Polymer 2, n’exposent pas un fichier de typage approprié. Dans le cas le plus simple:

class MyView1 extends Polymer.Element {
public static is = "my-view1";

constructor() {
super(); // [ts] Call target does not contain any signature
}
}

Pour le faire compiler sans le constructeur, j’ai fait un declare var Polymer: any; dans une principale .d.ts fichier.

Maintenant, j'ai deux questions:

  1. Comment (le cas échéant) puis-je faire en sorte que dactylographie ignore ceci et suppose simplement qu’il existe un super constructeur qu’il peut appeler?
  2. Comment déclarer (le cas échéant) un fichier de typage quicontient une signature pour la super classe? Je n'ai pas encore été en mesure de trouver la bonne documentation (et les divers cas d'utilisation rencontrés jusqu'ici).

Réponses:

2 pour la réponse № 1

Vous pouvez simplement développer votre déclaration pour inclure un constructeur dans le Element propriété:

declare var Polymer: {
Element: {
new ();
}
};

Pour votre deuxième question, vous pouvez simplement déplacer ceci vers un *.d.ts fichier. Voir le documentation sur la création de fichiers de déclaration.