2017-11-01 3 views
0

ルーティング経由でロードされたコンポーネントがあり、親コンポーネントからコンポーネントにデータを渡そうとしています。これをどうやってやりますか? Angular2でルーティングされたコンポーネントにデータを渡す

親コンポーネントクラス

export class HomeComponent{ 
    userName: string; 
    userId: string; 

    ngOnInit(): void{ 
     this.userName = "user name"; 
     this.userId = "user id"; 
    } 
} 

親コンポーネントテンプレート

<div> 
    <p>Parent Component</p> 
</div> 
<router-outlet></router-outlet> 

チャイルドコンポーネントクラス

export class ChildComponent{ 
    userName: string; 
    userId: string; 
} 

基本的に、ホームコンポーネントには、そのコンポーネントでのみ使用できる子ルートがあります。子コンポーネントは親コンポーネントと一緒に自動的に読み込まれますが、子コンポーネント内の親コンポーネントのデータを使用します。実用性のために、私のアプリケーションが正しく設定されているかどうかについては疑問がありません。

+0

親コンポーネントでサービスを提供し、それを子コンポーネントに挿入します。理想的には、サービス内のObservable(BehaviorSubject)を1つ以上使用して値を渡します。 –

答えて

1

必要に応じて、ルータ経由で変数を渡すことができます。

const routes = 
[                      
    { path: "child/:customerId", component: ChildComponent },                
] 

次に、あなたはcustomerId例えば

ActivatedRouteSnapshotを経由してアクセスすることができます。

0

反応性のあるデータを含むサービスを提供することが最適です。

関連する問題