2017-06-15 29 views
1

角度アプリケーションのすべてのコンポーネントにコンポーネントを自動注入する方法があるかどうかを知りたいと思います。すべてのコンポーネントにコンポーネントを自動注入 - 角度2

Iの方法を使用する必要なく、他の構成要素から呼び出すことができる "親" 要素のように、意味:

インポート{親} ...

I「がこのウォンを疑いますとにかく、この問題に直面する別の解決策がありますか?

なぜ私がこれを必要としているのか不明な場合は、ローカルストレージに要素が存在するかどうかをすべてのページでチェックする必要があります。

ありがとうございました!

+0

あなたは共有サービスを検討しましたか? – Abrar

+0

何かをインポートしないと、それを参照することはできません。あなたのケースでうまくいくかもしれないと思われるユーティリティをインポートするか、何らかのサービスを注入するかどうかに関わらず、関数やクラス、サービスなどをインポートする必要があります。すべてのモジュールに値を「自動インポート」する方法はありません。あなたが望むような音があります。 –

+1

アイテムがローカルストレージに存在する場合、または存在しない場合はどうしますか?あなたは、このチェックがすべてのコンポーネントに対して魔法と透過で行われることを望みますか? –

答えて

4

すべてのコンポーネントクラスが拡張できる基本クラスを作成しないでください。次に、ローカルストレージチェックコードをベースクラスに追加することができます。

@Component({ 
    selector: 'mu-component', 
    templateUrl: './my-component.html' 
}) 
export class MyComponent extends LocalStorageCheckComponent {} 
+1

IMHOスーパークラスは、OPの質問に対する私の理解によれば、何らかのユーティリティ(またはサービス)以上のものをもたらすだけの最良の方法であるとは考えにくいです。 –

+0

悪い考えディーン。しかし、これは、すべてのコンポーネントを編集して "extends"ディレクティブを追加することを意味します。私は可能性がある場合は、私の角型アプリケーションのすべての単一のコンポーネントを編集する必要なく、 "自動"注入可能性があります疑問に思っていた。 (app.module/app.componentレベルで宣言することができます) – Charles

関連する問題