私はAngular2フレームワークでいくつかのサンプルコードを扱っています。例えばHeroesのサンプル。現在理解していないことが1つあります。私のコンストラクタがRouter, Service
またはviceversaである必要があると言う要素は何ですか?RouteConfigとクラス、なぜコンストラクタがサービスとルータを必要とするのですか?
私は現在、彼らは仕事に@RouteConfig
のために必要とされる理由を理解し、通話のためのサービスが、「Xの、あなたは、コンストラクタを必要とするので、ルータ、サービスであることを」
を言うには、明示的な要因ものですクラスはOnInitを実装していますか?クラスがアプリケーションコンポーネントのRouteConfigで参照されていますか?そのような注文をするのは、私はちょうどそれを逆にすることができますか?最後の質問は、私は誰かが私に、これはこのように設定する必要がある理由として、いくつかの洞察力を与えることができれば、他のはService, Router
あった1 compoenntがRouter,Service
として定義されていた場合、無行かなかった決定されたもの
定義がどこから来ているのかは、角度2の概念を理解するのに役立ちます。
これについて重要なdocファイルを私に教えることができれば、それも素晴らしいと思いますので、私はもっと読むことができます。あなたは
constructor(private router:Router, private service:Service) {}
のようなコンストラクタを持っている場合は
サービスのために、それはタイプ "サービス"を注入するために木を見ます、同様にルータ? Angular2の新機能、より角度の鋭いデザイン方法論なので、ちょっとばかだけど、Aの木とBの木があるように聞こえてきて、それを見上げて配置するあなたのコンストラクタに? – Fallenreaper
ツリーは 'bootstrap()'で始まり、そこではプロバイダが渡されます。各コンポーネントごとに、独自のプロバイダセットを持つ子インジェクタが作成され、このコンポーネントの子などに対しても同様に、などが作成されます。つまり、コンポーネントツリーに似たインジェクタツリーが表示されます。 DIがインスタンスにコンポーネントを渡す必要がある場合、プロバイダのこのコンポーネントのインジェクタを検索し始め、プロバイダから返されインスタンスが見つかると、プロバイダが登録されているインジェクタが見つかるまで上向きになりますこのタイプ。 –