Typescript doğrudan JavaScript çağırma

oy
18

Sadece typescript belgelerine indirmiş. Ben bazı JavaScript sınıfları var ve oluşturmak ve daktilo testi uygulamasında bu sınıfı kullanmak istiyorum

Nasıl yazılardan bir yer JavaScript JavaScript işlevini çağırabilir. Ben bir d.ts dosyası oluşturmak istemiyoruz. Sadece kendi yöntemleri çağırmak, benim sınıfları oluşturmak özelliklerini erişmek için.

Bunu nasıl yaparım?


Ben daktilo versiyonu ile KendoUI ürünü kullanmaya çalışıyorum.

Örneğin bir pencere gösterilmesi için yapmam gereken:

  1. Pencerenin içeriğini temsil eden bir HTML var. Ben bir kimlik logonDialog ile bir div var. Bu div
    başlangıçta gizli;
  2. Ben pencere oluşturmak: logonDlg.kendoWindow (logOnParams);
  3. Sonra jQuery kullanarak Ben div göstermek: kullanarak logonDlg.show();

Örnek

var logonDlg = $(logonDialog);

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

Tamam çalışıyor. Ben istiyorum ama mülkiyet beri bir hata aldığınızda JS oluşturulur 'kendoWindow' türündeki değeri 'JQuery' mevcut değil.

Nasıl bu tür bir hata devre dışı bırakabilir. İşe Ryan söylediği, gelemedi.

Oluştur 03/10/2012 saat 15:45
kaynak kullanıcı
Diğer dillerde...                            


4 cevaplar

oy
22

Eğer çok başka ekstra çalışma yapmadan hataları durdurmak istiyorsanız, size JS kodundan nesneler 'ilan' olabilir:

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.
Cevap 03/10/2012 saat 16:18
kaynak kullanıcı

oy
8

Daha iyi bir çözüm vardır. Sadece bu gibi herhangi bir jQuery logonDlg döküm:

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

kod biraz farklı olacaktır ama aynı şekilde çalışacaktır.

  1. Üretilen kod inci döküm bu gibi olmadan: logonDlg.kendoWindow (logOnParams);
  2. Alçı ile bu gibi olacak: (logonDlg) .kendoWindow (logOnParams);

Hem iş Tamam.

Saygılarımızla

Cevap 05/10/2012 saat 18:02
kaynak kullanıcı

oy
5

Sadece bunu yapmak. Typescript sizi durmayacak. Sen derleyici çıktı uyarıları göreceksiniz ama tscsizin JS dosyası gayet üretecektir.

Cevap 03/10/2012 saat 15:50
kaynak kullanıcı

oy
4

Bu özel durumda sadece içerebilir Kendo UI typescript tanımlarını Telerik sağlar.

(Bu soru TS tanımları muhtemelen henüz var, ancak gelecekte bu soruya rastlamak insanlar için bu ayrıntıyı eklemek istedim vermedi ne zaman geri istendi biliyoruz.)

Cevap 30/03/2015 saat 12:28
kaynak kullanıcı

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