Aufruf direkt JavaScript aus Typoskript

stimmen
18

Ich habe gerade die Typoskript Dokumentation heruntergeladen. Ich habe ein paar JavaScript-Klassen, und ich mag diese Klasse in einer Typoskript Testanwendung erstellen und verwenden

Wie kann ich eine JavaScript-Funktion eines enthaltenen JavaScript aus Typoskript nennen. Ich will nicht eine „d.ts“ Datei erstellen. Nur meine Klassen zu erstellen, seine Methoden aufrufen, Zugriff auf seine Eigenschaften.

Wie mache ich das?


Ich versuche kendoUI mit Typoskript zu verwenden.

Zum Beispiel ein Fenster zu zeigen, ich habe zu tun:

  1. Haben Sie einen HTML den Inhalt eines Fensters darzustellen. Ich habe ein div mit einer id logonDialog. Dieses div
    wird zunächst versteckt;
  2. Ich schaffe das Fenster: logonDlg.kendoWindow (logOnParams);
  3. Dann jQuery zeige ich den div: using logonDlg.show();

Beispiel

var logonDlg = $(logonDialog);

if (!logonDlg.data(kendoWindow)) {
   logonDlg.kendoWindow(logOnParams);
   logonDlg.show();
}

Es funktioniert OK. Die JS erzeugt, wie ich will, aber ich erhalte eine Fehlermeldung, da die Eigenschaft ‚kendoWindow‘ existiert nicht auf Wert vom Typ ‚JQuery‘.

Wie kann ich diese Art von Fehlern zu deaktivieren. Ich konnte es nicht machen, was Ryan sagte, zu arbeiten.

Veröffentlicht am 03/10/2012 um 15:45
quelle vom benutzer
In anderen Sprachen...                            


4 antworten

stimmen
22

Wenn Sie die Fehler, ohne viel mehr zusätzliche Arbeit zu tun stoppen wollen, können Sie ‚erklären‘ die Objekte aus der JS-Code:

declare var w; // implicit type here is 'any'
// (later, anywhere in your file...)
var x = new w(); // you can do whatever you want with w now without getting errors
w.x = 4; // etc.
Beantwortet am 03/10/2012 um 16:18
quelle vom benutzer

stimmen
8

Es gibt eine bessere Lösung. Nur werfen die jQuery logonDlg einem wie folgt aus:

(<any>logonDlg).kendoWindow(logOnParams);

Der Code wird ein bisschen anders sein, aber die gleiche Arbeit.

  1. Ohne die Besetzung th generierte Code ist wie folgt: logonDlg.kendoWindow (logOnParams);
  2. Mit der Besetzung wird so aussehen: (logonDlg) .kendoWindow (logOnParams);

Beide arbeiten OK.

Grüße

Beantwortet am 05/10/2012 um 18:02
quelle vom benutzer

stimmen
5

Sie tun es einfach. Typoskript stoppt Sie nicht. Sie werden Warnungen in der Compiler Ausgabe sehen , aber tscIhre JS - Datei einfach gut generieren.

Beantwortet am 03/10/2012 um 15:50
quelle vom benutzer

stimmen
4

In diesem speziellen Fall sind Sie könnten nur die Kendo UI Typoskript Definitionen , die Telerik bietet.

(Ich weiß, diese Frage wurde gebeten, zurück, wenn die TS Definitionen wahrscheinlich noch nicht existierten, wollten aber dieses Detail für Leute hinzufügen, die über diese Frage in der Zukunft kommen.)

Beantwortet am 30/03/2015 um 12:28
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more