Здесь я пытаюсь передать this.bookingInfo = bookings.responseObj.txnValues;
значения массива bookingInfo моему дочернему компоненту. Это мой родительский компонент.
@Component({
selector: 'app-dashboard',
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss']
})
export class DashboardComponent implements OnInit{
lineChart = ['line_chart1', 'line_chart2', 'line_chart3', 'line_chart4', 'line_chart5'];
value = ['33.5M', '67.9M', '90.9M', '09.9M'];
names = ['cancellations', 'Bookings', 'Modifications', 'Revenue' ];
bookingInfo = [];
ngOnInit() {
this.getBookingInfo();
}
getBookingInfo() {
const params = [];
params.push({code: 'dateType', name: 'BOOKING'});
params.push({code: 'fromDate', name: '2019-01-01'});
params.push({code: 'toDate', name: '2019-12-31'});
this.ServiceHandler.getTxnInfo([], params).subscribe(
bookings => {
this.bookingInfo = bookings.responseObj.txnValues;
console.log(this.bookingInfo);
});
}
}
Это мой dashboard.component. html
<app-summary-chips [lineChart]="lineChart[0]" [value] = "value[0]" [name] = "names[0]" [data] = "bookingInfo"></app-summary-chips>
Это мой дочерний компонент.
@Component({
selector: 'app-summary-chips',
templateUrl: './summary-chips.component.html',
styleUrls: ['./summary-chips.component.scss']
})
export class SummaryChipsComponent implements OnInit {
@Input('lineChart') lineChart: string;
@Input('value') value: string;
@Input('name') name: string;
@Input() data: [];
ngOnInit() {
console.log('line chart: ', this.lineChart);
console.log(this.data);
}
}
Это мой summary-chips.component. html
<div class="l-content-wrapper c-summary-chip oh" >
<div class="c-summary-chip__value">{{value}}</div>
<div class="c-summary-chip__txt">{{name}}</div>
<!--<i class="a-naked-label a-naked-label--danger-down fa c-summary-chip__naked-lable"><span class="a-naked-label__span">100.00%</span></i>-->
<div id= "{{lineChart}}" class="c-summary-chip__graph ">
</div>
</div>
Но когда я console.log(this.data);
в дочернем компоненте, это печатает пустой массив.