Как передать динамическую переменную c в mat-диалог в Angular? - PullRequest
0 голосов
/ 11 января 2020

Я хочу передать переменную в диалоговое окно 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', несмотря на то, что она является объектом, передается по значению, а не по ссылке. Как эта процедура выполняется эффективно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...