Καλώντας την Javascript απευθείας από γραφομηχανή

ψήφοι
18

Έχω μόλις κατεβάσει την τεκμηρίωση γραφομηχανή. Έχω κάποιες κατηγορίες JavaScript και θα ήθελα να δημιουργήσετε και να χρησιμοποιήσετε αυτές τις τάξη σε μια δοκιμαστική εφαρμογή γραφομηχανή

Πώς μπορώ να καλέσετε μια συνάρτηση JavaScript ενός περιλαμβάνονται JavaScript από γραφομηχανή. Δεν θέλω να δημιουργήσετε ένα αρχείο «d.ts». Ακριβώς για να δημιουργήσουν τα μαθήματά μου, καλέστε τις μεθόδους της, την πρόσβαση του ιδιότητες.

Πως το κάνω αυτό?


Είμαι προσπαθεί να χρησιμοποιήσει kendoUI με γραφομηχανή.

Για παράδειγμα, για να δείξει ένα παράθυρο που έχω να κάνω:

  1. Ρίξτε μια HTML για να αντιπροσωπεύουν το περιεχόμενο ενός παραθύρου. Έχω ένα div με id logonDialog. Αυτό div
    αρχικά κρυμμένο?
  2. Δημιουργώ το παράθυρο: logonDlg.kendoWindow (logOnParams)?
  3. Στη συνέχεια, με τη χρήση jQuery που δείχνουν την div: χρησιμοποιώντας logonDlg.show();

Παράδειγμα

var logonDlg = $(logonDialog);

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

Αυτό λειτουργεί ΟΚ. Το JS δημιουργείται όπως θέλω, αλλά λαμβάνω ένα σφάλμα δεδομένου ότι το ακίνητο «kendoWindow» δεν υπάρχει στην αξία του τύπου «JQuery».

Πώς μπορώ να απενεργοποιήσετε αυτό το είδος του λάθους. Δεν θα μπορούσε να κάνει, αυτό που είπε ο Ράιαν, για να εργαστούν.

Δημοσιεύθηκε 03/10/2012 στις 15:45
πηγή χρήστη
Σε άλλες γλώσσες...                            


4 απαντήσεις

ψήφοι
22

Αν θέλετε να σταματήσετε τα λάθη χωρίς να κάνει τίποτε άλλο επιπλέον εργασία, μπορείτε να «δηλώσουν» τα αντικείμενα από τον κωδικό JS σας:

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.
Απαντήθηκε 03/10/2012 στις 16:18
πηγή χρήστη

ψήφοι
8

Υπάρχει μια καλύτερη λύση. Απλά ρίχνει το jQuery logonDlg σε οποιαδήποτε μορφή:

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

Ο κώδικας θα είναι λίγο διαφορετική, αλλά θα λειτουργούν με τον ίδιο.

  1. Χωρίς το cast ο παραγόμενος κώδικας είναι κάπως έτσι: logonDlg.kendoWindow (logOnParams)?
  2. Με το καστ θα είναι κάπως έτσι: (logonDlg) .kendoWindow (logOnParams)?

Και οι δύο εργάζονται στο OK.

Χαιρετισμοί

Απαντήθηκε 05/10/2012 στις 18:02
πηγή χρήστη

ψήφοι
5

Απλά το κάνει. Γραφομηχανή, δεν θα σας σταματήσει. Θα δείτε τις προειδοποιήσεις στην έξοδο compiler, αλλά tscθα δημιουργήσει το αρχείο JS σας μια χαρά.

Απαντήθηκε 03/10/2012 στις 15:50
πηγή χρήστη

ψήφοι
4

Στη συγκεκριμένη περίπτωση, θα μπορούσε να περιλαμβάνει μόνο τα ορισμούς Kendo UI γραφομηχανή που παρέχει Telerik.

(Αντιλαμβάνομαι το ερώτημα αυτό κλήθηκε πίσω, όταν κατά πάσα πιθανότητα δεν υπήρχαν ακόμα οι ορισμοί TS, αλλά ήθελε να προσθέσετε αυτή τη λεπτομέρεια για τους ανθρώπους που έρχονται σε αυτό το ερώτημα στο μέλλον.)

Απαντήθηκε 30/03/2015 στις 12:28
πηγή χρήστη

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