2013-09-06 13 views
7

まだこのタイプのテキストでは新しいので、この質問はあなたの中には馬鹿馬鹿しいかもしれません。私はこのようなツールヒントのクラスがあります。TypeScript:クラスの静的メソッドにアクセス

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

をそして、私は別のクラスから

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; 

それを呼び出すようにしたい。しかし、それは私にこのエラーを与える:

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

修正するためにどのように任意のアイデアをこの?

+0

これは私のために働く。 0.9.1.1を使用していますか? –

+0

Webstorm EAPを使用して0.9.1.1を使用してコンパイルしています –

+0

Webstormは自動的に最新のTypeScriptコンパイラを選択しないと思います。 'tsc.exe'を使って問題を再現できますか? –

答えて

3

あなたはコードが正常に動作します見ることができるように(実行をコンパイル):それはあなたのために働かない理由

enter image description here

だから、考えられる理由:

  • あなたはコンパイルできませんでした--module commonjsオプション(Video Tutorial
  • と同じレベルのTootTipという名前のフォルダがありますを実行すると、期待していなかったことがnodejsで実行される可能性があります。
+0

ありがとう、私はエラーが見つかりました。ファイル名を「ツールヒント」から「ツールヒント」に変更すると、javascriptが更新されないため、ToolTip.jsの代わりにTooltip.jsが検索されます。 –

関連する問題