2013-09-06 24 views
7

Yine de TypeScript'te yeni olan bu soru, bazılarınız için aptalca gelebilir. Böyle bir araç ipucu sınıf var:TypeScript: Bir sınıfın statik yöntemine erişme

class ToolTip{ 
    public static show (str:string):void{ 
     console.log ("ToolTip show():" + str); 
    } 
    public static hide():void{ 
     console.log ("ToolTip hide()"); 
    } 
} 
export = ToolTip; 

Ve başka bir sınıfa

import ToolTip = require ("app/view/common/Tooltip"); 

class Button { 
...... 
    private handleMouseEvent(event:MouseEvent):void { 
     switch (event.type) { 
      case "mouseover": 
       ToolTip.show("tool tip string"); 
       break; 
      case "mouseout": 
       ToolTip.hide(); 
       break;    
     } 
    } 
...... 
} 

export = MenuItem; 

onu aramak istediğiniz Ama bana bu hata veriyor:

Uncaught TypeError: Object app/view/common/Tooltip has no method 'show' 

konusunda fikrin nasıl düzeltilir bu? Eğer kod çalışıyor (bkz ve çalışır derler) gibi

+0

Bu benim için çalışır. 0.9.1.1 kullanıyor musunuz? –

+0

Ben de 0.9.1.1 kullanıyorum, Webstorm EAP kullanarak derlemek için –

+0

Ben Webstorm otomatik olarak en son TypeScript derleyiciyi seçer sanmıyorum. Sorunu 'tsc.exe' kullanarak yeniden üretebilir misiniz? –

cevap

3

:

enter image description here

Yani olası nedenlerine sizin için işe yaramaz:

  • Sen derlemek etmedi --module commonjs seçeneği ile (Video Tutorial)
  • TootTip adında bir klasör var.ile aynı düzeyde, nodejs’lerin beklenmedik bir şekilde çalışmasına neden olabilir.
+0

Teşekkürler, ben hata buldum. Dosya adını "Tooltip" ten "ToolTip" e değiştirdiğimde, javascript asla güncellenmez, dolayısıyla ToolTip.js yerine Tooltip.js dosyasını arar. –

İlgili konular