Ich habe den folgenden Code:
%Vor%Ich erhalte eine Fehlermeldung, die auf .find zeigt und sagt:
Die Eigenschaft find existiert nicht für die Variable vom Typ 'string'. Ich verstehe, was der Fehler sagt, aber wie kann ich $modal
als Variable definieren, für die ich .find
verwenden kann?
Auch jetzt bin ich in der Welt des Typoskripts, gibt es einen besseren Weg für mich, modal zu definieren als hier, wo ich es als var definiere?
Die Funktionszuweisung, die Ihr Code an $.modal
vornimmt, ist, wie ich annehme, unvollständig - aber da Sie speziell nach Definition von Typen fragen, werde ich trotzdem versuchen und antworten.
Also, erste Sache, wenn Sie nicht bereits: erhalten jquery.d.ts von Codeplex und verweisen Sie es in Ihrem Code wie unten getan. Es wird Ihnen Typ-Deklarationen für jQuery geben, die sehr hilfreich sind, wenn Sie mit der Bibliothek arbeiten. Es erlaubt Ihnen auch, Mitglieder zu definieren, die jQuery-Objekte sein sollen.
%Vor% Betrachten wir zum Beispiel IModal
, was eine Schnittstelle mit 4 jQuery-Mitgliedern ist (ich habe einige Vermutungen mit den Typen gemacht, die Sie für die anderen Mitglieder verwenden wollten - sie könnten nicht das sein, was Sie wollen):
Die zweite Schnittstellendeklaration JQueryStatic
deklariert einfach ein anderes statisches Element, auf das im Objekt $
zugegriffen werden kann (siehe Fußnote), da $
in der Datei jquery.d.ts JQueryStatic
implementiert.
Damit können Sie jetzt Ihr modales Objekt mit expliziten Typinformationen erstellen, die von der von ihm implementierten Schnittstelle IModal
bereitgestellt werden:
Und Sie können Ihre Funktion $ .modal aufgrund der JQueryStatic
add on:
Wenn Sie diese Zuweisung korrigieren, sollte die folgende Zeile jetzt in Ordnung sein:
%Vor%Hinweis: Meine Erfahrungen mit dem Hinzufügen von Membern zu vorhandenen Interfaces waren bestenfalls zweifelhaft - häufig nimmt der Compiler sie aus irgendeinem Grund nicht auf. Ich empfinde dies als wahrscheinlicher, wenn Ihre Code-Basis wächst, so dass es schwierig ist, die genaue Ursache zu isolieren. Nur etwas, das man im Auge behalten sollte.
Tags und Links javascript typescript