Я хочу передать переменную в диалоговое окно mat, эта переменная будет получать свои данные от службы, и ей не удалось сделать информацию об изменении переменной при открытии диалогового окна mat.
РОДИТЕЛЬ
ngOnDestroy() {
this.subscriptions.forEach((subscription) => {
subscription.unsubscribe();
});
}
getHotels() {
this.subscriptions.push(this.hotelsService.getHotels.subscribe(data => {
if (data) {
this.hotels = data.hotels;
}
}));
}
openDialog() {
let dialogRef = this.dialog.open(DialogComponent,
{
data: { hotels: this.hotels }
});
});
ДИАЛОГ ДЕТЕЙ TS
hotels
constructor(public dialogRef: MatDialogRef<DialogComponent>,
@Inject(MAT_DIALOG_DATA) public data: any) {
console.log('hotels', data);
this.hotels = data.hotels || [];
}
ДИАЛОГ ДЕТЕЙ HTML
<div>{{ hotels | JSON}}</div>
Эта процедура логична для меня, но я ни разу не получаю данные в диалоговом окне.
Я не хочу читать службу у ребенка, так как я использую шаблон, представленный контейнером, я вижу, что переменная 'hotels', несмотря на то, что она является объектом, передается по значению, а не по ссылке. Как эта процедура выполняется эффективно?