2016-06-17 4 views
0

$injectorから名前でサービスを受けることができると私は知っています。何らかの形でディペンデンシーインジェクタからコンポーネント/コンポーネントオブジェクトを取得することは可能ですか?角度指示を名前で取得する

たとえば、コンポーネントの名前を取得してコンポーネントを取得し、取得したプロパティで何かを実行できるサービスを作成したい場合、そのコンポーネントの名前でコンポーネントを取得するにはどうすればよいでしょうか?

答えて

1

$injectorから各サービスのインスタンスが1つしかないため、サービスを受けることができます。シングルトンはです。

一方、ディレクティブ/コンポーネントは、ページに表示されるたびに複数のインスタンスを持ちます。さらに、それらは常に作成され、HTMLにバインドされているため、注入することはできません。

+0

'ng-controller'ディレクティブの仕組みは?それはコントローラのコンストラクタ関数の名前を使用するように思われる。同様に、どのディレクティブもコントローラの名前を取得してバッキング機能に解決することができますか? – ipavlic

+0

コントローラの場合、コントローラのインスタンスを作成するために使用できる[$ controller](https://code.angularjs.org/1.5.7/docs/api/ng/service/$controller)サービスがあります。 –

+0

インスタンスの代わりにインスタンス化のために使用されるオブジェクトを取得することが可能な場合、私はそれを愛するでしょう。私はその答えをそのまま受け入れます。 – ipavlic

関連する問題