イベントエミッタおよび双方向を使用してください。
親コンポーネント
@Component(){
...
}
export class ParentComp{
parkingLots: Array<any> = [one,two,three];
constructor(){}
}
親テンプレート
<div class="container-fluid">
<div class="row">
<reserved-parking [(data)]="parkingLots"></reserved-parking>
<available-parking [(data)]="parkingLots"></available-parking>
<profile></profile>
</div>
</div>
予約駐車成分
@Component(){
selector: 'reserved-parking',
inputs: ['data'],
outputs: ['dataChange'],
...
}
export class ReservedParking{
data: Array<any>;
dataChange: EventEmitter<Array<any>> = new EventEmitter();
constructor(){}
ngOnInit() {
this.data.push('four');
this.dataChange.emit(this.data);
}
}
利用できる駐車コンポーネント
@Component(){
selector: 'available-parking',
inputs: ['data'],
outputs: ['dataChange'],
...
}
export class AvailableParking{
data: Array<any>;
dataChange: EventEmitter<Array<any>> = new EventEmitter();
constructor(){}
ngOnInit() {
console.log(this.data);
// you can also update it here and then do
// this.dataChange.emit(this.data); to send it out
}
}
注:必要なインポート何でも、データは必要に応じて任意に変更、それは、主なものはdataChange.emit(this.data)
チェックこのhttp://stackoverflow.com/questions/31026886/how-do-i-share-data-between-components-in-angular2 –