角度2/ionic 2プロジェクトでは、次の「星座」があります。角度2でHttpServiceのプロバイダがありません
Component1 -> Service1 -> Service3
Component2 -> Service2 -> Service3
(ここで - >は、 "使用" または "呼び出し" のようなものを意味する)
コンポーネントのプロバイダ配列にService3を注入せずに、私は常にエラー
No Provider for Service3
に直面していますサービスを2番目のサービスに注入する方法はありますか?そのすべてをコンポーネントに注入する必要はありませんか?依存関係をコンポーネントに明示的にすべてリストする必要なく、依存関係をどのように管理するか
私は Inject services in another service angular 2で説明している限り、私のプロジェクトは、小さなとどまるように、すべてのサービスの依存関係をリスト大したがない、クーゼのうちを働いていなかったとして、サービスにサービスを注入しようとした
import {Service1} from '../../../providers/service1';
import {Service2} from '../../../providers/Service3';
@Component({
templateUrl: '...',
providers: [Service1, Service3]}) // <= here I would like to not list Service2
export class Component1 {
}
コンポーネントはそれほどスケーラブルではありません。
シングルトンのようなサービスですか?次に、ルートコンポーネントの 'providers'配列か' bootstrap'呼び出しの中にそれらの全てをリストすることを考えてもよいでしょう。 – rinukkusu
はい、少なくとも私の例ではService3はシングルトンでなければなりません。これは実際にはルートコンポーネントにリストされている受け入れ可能なソリューションなので、一度だけリストする必要があります。答えとアイデアのためのThx。 –
In Angularは、注入されたすべてのサービスは、デフォルトではシングルトンです。 –