2016-09-13 5 views
0

app.component.ts私はこのコードを持って次のように適切なapp.component.htmlAngular 2 Servicesを使用してグローバル変数を渡しますか?私たちのNGスターター定型で

export class AppComponent {title = "Website Title"}

を、titleが含まれます:

<p>{{title}}</p>

しかし、これをグローバルに変数titleに含めたいと思います。のは、次のように私の構造だったとしましょう:私は同じ情報を表示したいと思い

app.component.html app.component.ts test.component.html test.component.ts

test.component.htmlで。

<p>The title of this website is {{title}}</p>

そして{{title}}の値は私のapp.component.tsから派生されるだろう。どのように文字列のようなものを渡すためにサービスを使うのですか?代わりに指示に合格する価値があるのだろうか?ような何か:

<p>The title of this website is <app-test></app-test></p>

答えて

1

それはアプリケーション全体の構造で使用可能なグローバル変数を使用することが必要であるならば、あなたは共有モジュールに配置する必要があり共有サービスを、使用することができます。

あなたがここに共有モジュールについて読むことができます。

https://angular.io/docs/ts/latest/guide/ngmodule.html#!#shared-module

をサービスクラスのこの種のは、この(この例では、パブリック変数)のように見えることができます:実際に

@Injectable() 
export class SharedService { 
     globalVariable = "default"; 
} 

、私は思いますどのアプリでもこのようなことをするのは良い考えではありません。

+0

ありがとうございました。なぜこれは悪い考えですか? – abrahamlinkedin

+0

上記の例では、変数がpublicであることが分かりました。データは不変ではなく、例えば間違って値を変更することができます。 –

+0

@abrahamlinkedinでは、このサービスのコンストラクタに何も挿入していない場合、 '@Injectable()'デコレータは必要ありません。 – rook

関連する問題