角型([]
)のバインディング構文を使用すると、コンポーネントにバインドと同じ名前の@Input
プロパティがある場合にのみ機能します。 router-outlets
これはありません。さらに、ルーティングされたコンポーネントは、子ではなく<router-outlet>
に兄弟として追加されます。
最も簡単な方法(およびベストプラクティスIMO)は、子コンポーネントに注入されるデータを持つ共有サービスを使用することです。 turnoverService
があるように見えるので、子コンポーネントはコンストラクタでこれを取得する必要があります。
さらに詳しい情報:Passing data into "router-outlet" child components (angular 2)
EDIT:これを実行する別の方法は、ルートの定義そのものにresolve
方法を使用することです。 resolve
機能は、ルートがアクティブになったときに起動しますが、resolve
関数が正常に完了するまで、ルート自体は実際にはロードされません。ルーティングされたコンポーネントはInjector
を介してresolve
のデータにアクセスできます。これは、既にデータを持っているか、それを取得するために何らかのロジックを行う必要がある場合には役に立ちますが、resolve
メソッドが非同期AJAX呼び出しを行っている場合はおそらく最良の解決策ではありません。
resolve
の詳細は、この優れたarticleにあります(角度のドキュメント自体はここにはありません)。