2017-06-11 16 views
2

LoginServiceにグローバル変数を設定しようとしていますので、DriverServiceに注入することができます。しかし、どのようにグローバル変数を実装しても、常にundefinedまたは空の文字列のいずれかです。 角4グローバル変数の設定問題

私はplunkerを作ったので、あなたは生きてそれを確認することができます:私は今、私は件名とBehaviorSubjectと試みたのsetValue( this.login = value)とのgetValue( return this.login)のもの、と試してみました PLUNKER

、ない成功を収めました。

グローバル変数を1つのサービスに設定して別のサービスで使用するにはどうすればよいですか?その意志

おかげ

+0

コンソールでアクセスできるグローバルオブジェクトの真のグローバル変数が必要ですか? –

+0

私はあなたを正しく理解しているかどうかわかりませんが、グローバル変数を使用して他のサービスでアクセスできるようにしたいと考えています。私はここでコンソールを使用して、自分のコードが自分が望むものを返すかどうかを確認します。 – Haseoh

+0

あなたのプランナーでDriverServiceコンストラクターが呼び出されていない –

答えて

4

あなたがサービス(一般的には注射剤)を覚えている何を、アプリ内のサービスの同じインスタンスをしたい場合、あなたはNgModuleproviders配列にそれらを追加する必要があるということです、そのモジュール内にあるすべてのコンポーネントで同じサービスインスタンスを使用できるようにします。この場合、あなたはもちろん正確にそれを望んでいます!

各コンポーネントにproviders-arrayがあるということは、すべてのコンポーネントが独自のサービスインスタンスを持つことを意味します。つまり、同じデータを全く共有していないということです。だから、必要な唯一のものは、構成要素からproviders配列を削除し、代わりにあなたのNgModuleにそれらを適用することでした

:)

あなたの固定PLUNKER

+0

これは魅力のように動作します。ありがとう、AJT :) – Haseoh

+0

大歓迎です! :) – Alex

関連する問題