JavaScript Calling direct van typoscript

stemmen
18

Ik heb net gedownload het typoscript documentatie. Ik heb een aantal JavaScript klassen en ik zou willen maken en gebruiken van deze klasse in een typoscript test applicatie

Hoe kan ik een JavaScript-functie van een meegeleverde JavaScript uit typoscript. Ik wil niet naar een d.ts bestand te maken. Gewoon om mijn lessen maken, roept haar methoden, de eigenschappen te openen.

Hoe doe ik dat?


Ik ben op zoek naar kendoUI te gebruiken met de schrijfmachine.

Bijvoorbeeld om een ​​raam te laten zien wat ik moet doen:

  1. Heeft u een HTML om de inhoud van een venster te vertegenwoordigen. Ik heb een div met een id logonDialog. Deze div
    wordt in eerste instantie verborgen;
  2. Ik maak het raam: logonDlg.kendoWindow (logOnParams);
  3. Vervolgens met behulp van jQuery Ik laat de div: using logonDlg.show();

Voorbeeld

var logonDlg = $(logonDialog);

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

Het werkt OK. De JS wordt gegenereerd als ik wil, maar ik krijg een foutmelding, omdat het pand 'kendoWindow' bestaat niet op de waarde van het type 'jQuery'.

Hoe kan ik onbruikbaar maken van dit soort fouten. Ik kon het niet maken, wat Ryan zei, om te werken.

De vraag is gesteld op 03/10/2012 om 15:45
bron van user
In andere talen...                            


4 antwoorden

stemmen
22

Als u wilt de fouten te stoppen zonder te doen veel anders extra werk, kunt u 'verklaren' van de voorwerpen uit uw 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.
antwoordde op 03/10/2012 om 16:18
bron van user

stemmen
8

Er is een betere oplossing. Net wierp het jQuery logonDlg om eventuele als volgt uit:

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

De code zal een beetje anders, maar zal hetzelfde werken.

  1. Zonder de cast th gegenereerde code is als volgt: logonDlg.kendoWindow (logOnParams);
  2. Met de cast zal zijn als dit: (logonDlg) .kendoWindow (logOnParams);

Beide werken op OK.

vriendelijke groeten

antwoordde op 05/10/2012 om 18:02
bron van user

stemmen
5

Je doet het gewoon. Typescript zal je niet tegenhouden. U zult waarschuwingen in de compiler uitgang zien, maar tsczal genereren je JS bestand prima.

antwoordde op 03/10/2012 om 15:50
bron van user

stemmen
4

In dit specifieke geval kan je gewoon onder de Kendo UI typoscript definities die Telerik biedt.

(Ik besef dat dit vraag werd gesteld toen de TS definities waarschijnlijk nog niet bestond, maar wilde dit detail voor mensen die over deze vraag komen in de toekomst toe te voegen.)

antwoordde op 30/03/2015 om 12:28
bron van user

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