2016-07-28 12 views
4

すべてのコンポーネントで使用できる特定のアプリケーションスコープ変数/定数を設定する方法はありますか?はいの場合、宣言する場所とコンポーネントで参照する方法は?Angular2アプリケーションスコープ変数

export var SharedValues = { 
    Title: "aaaaa", 
    Something: "bbbbb" 
} 

が、その後のコンポーネントでそれをインポートし、それを使用する

は私が考えることができることです。

main.tsで何かを宣言してから直接参照することはできますか?

答えて

3

これをクラスにパッケージ化し、サービスとして使用できます。たとえば、次に

@Injectable() 
export class SharedValues { 
    public Title = 'aaaaa'; 
    public Something = 'bbbbb'; 
} 

、あなたはRC5を使用している場合は、あなたのモジュールに含める...

import { SharedValues } from 'some/path/shared-values.service'; 

@NgModule({ 
    // declarations, imports, bootstrap... 

    providers: [ 
     // your other providers 
     SharedValues, 
    ] 
}) export class AppModule {} 

あなたはRC4を使用したり、以前されている場合は、あなたのブートストラップに追加...

import { SharedValues } from 'some/path/shared-values.service'; 

bootstrap(AppComponent, [ 
    // ... 
    SharedValues, 
]); 

どこでも使いたいと思っています。

import { SharedValues } from 'some/path/shared-values.service'; 

// or wherever you want to use the variables 
@Component({ 
    // ... 
}) export class SomeComponent { 
    constructor(private shared: SharedValues) { 
     console.log(this.shared.Title, this.shared.Something); 
    } 
} 
+0

ありがとうございます@NgModule構文はRC5でのみ機能しますか? – Shawn

+0

はい、回答を編集してRC4も含めます – jcolemang

関連する問題