2017-01-18 22 views
0

私はMainメソッドで定義する2つの変数を持つ以下の簡単なコードを使用しました。別のメソッドからアクセスする必要があります。TypeScriptのさまざまなメソッドの変数へのアクセス

が、私はとしてdeclerations/main.d.tsファイルでそれらを定義しても、私は、variables are not definedを得た:

declare let voiceReady:any; 
declare let x:any; 

main.tsファイルです。

/// <reference path="../declerations/main.d.ts" /> 
namespace CORE{ 
    export class Program { 
     public static Main(): void { 
      var voiceReady = new CORE.Listen(CORE.commands).commands; 
      console.log(voiceReady); 
      var x = 560; 
      Program.execute('anything'); 
    } 


     public static execute(spokenText:string):void{ 
      console.log('123'); 
      console.log(x); 
      console.log(voiceReady); 
     } 
    } 
} 

UPDATE 私は.d.tsファイルから減速を除去し、class自体にそれらを追加した場合は、以下のように、私はコンパイルエラーを取得:

enter image description here

答えて

1

はプロパティとして宣言Programクラスの

namespace CORE{ 
export class Program { 

    //Declare the properties here and access them in the methods 
    static voiceReady: any;  

    public static Main(): void { 
     this.voiceReady = new CORE.Listen(CORE.commands).commands; 
     console.log(this.voiceReady); 
     Program.execute('anything'); 
    } 

    public static execute(spokenText:string):void{ 
     console.log(this.voiceReady); 
    } 
    } 
} 

あなたは、別のクラスから参照

import { Program } from "./Program"; 

のようなあなたのモジュールの外にそれをインポートし、Program.Main();ようなあなたのクラスでそれを使用したい場合。

+0

コンパイルエラーが発生しました。私はこのエラーで私の質問を更新しました。ここに写真をアップロードできないので、質問自体にアップロードしました。 –

+0

私の答えが更新されました! –

+0

ありがとうございます。別のクラスのクラスから呼び出す必要がある場合はどうすればいいですか? –

関連する問題