J'ai un site avec 10 pages, qui partagent un fichier Typescript, et chaque page a son propre fichier Typescript. Une page a un plugin JQuery, timepicker
, donc j'étendre l'objet JQuery en utilisant:Comment puis-je étendre pour un seul fichier?
interface JQuery {
timepicker(options:any):JQuery;
}
Cependant, je ne veux pas que les autres fichiers tapuscrit d'avoir timepicker sur l'objet JQuery
. Comment puis-je l'étendre juste pour ce fichier?
Il ne me laisse pas étendre JQuery
à l'intérieur d'un espace de noms.
Les modules peuvent-ils aider? Je n'ai pas besoin d'importer ou d'exporter quoi que ce soit, donc je ne suis pas sûr que ce soit approprié, ni comment utiliser les modules.
Si chaque page possède son propre fichier Typescript, pourquoi ne pas simplement ajouter cette ligne d'interface à la page spécifique qui en a besoin? En passant, vous n'êtes pas en train d'étendre l'objet jQuery en écrivant une interface qui est aussi appelée jQuery :) – Kokodoko
@Kokodoko C'est ce que je fais, cependant tous les fichiers Typescript du projet voient cette interface, et montrent 'timepicker' sur 'JQuery'. – wezten
C'est probablement votre IDE qui voit l'interface 'timepicker' et l'applique à l'ensemble de votre projet. Peut-être pourriez-vous utiliser des espaces de noms pour différencier les pages et avoir des interfaces seulement dans certains espaces de noms. 'namespace page10 {interface bla {}}' – Kokodoko