Обновить таблицу cdk при нажатии кнопки из другого компонента

Я строю свое приложение на таблице данных материалов. У меня есть кнопка, где мне нужно обновить таблицу данных по ее нажатию.

<button title="Name" routerLink="/name/0" (click) = "refreshNameData()" >
{{NameDetails?.nameCount}}</span>
 </button>

В своем классе angular2 я делаю вызов, чтобы получить обновленные данные.

@Output() NameData = new EventEmitter<INameData[]>();
NameListData :<INameData[]>

refreshNameData() {
   this.NameService.listNameItems().then(names=> {
   this.NameListData = names.slice();
   });
   this.NameData.emit(this.NameListData );
   this.router.navigate(['name/0']);
   }

Я хочу, чтобы эти обновленные данные ( NameListData) обновлялись функцией соединения таблицы CDK / таблицы Mat, которая находится в классе dataSource

Эти 2 компонента включены в мой проект следующим образом. Компонент заголовка включает кнопку. Функция розетки маршрутизатора ведет нас на вкладку NameData.

<header-component ></header-component>
<mat-sidenav-container style="min-height: 500px">
<mat-sidenav style="width:125px" #sidenav mode="side">
<div>
  <nav-component></nav-component>
 </div>
</mat-sidenav>
<div class="app-content">
<router-outlet></router-outlet>
</div>
</mat-sidenav-container>

Вопрос в том, что на моей странице 4 вкладки. Поэтому переход с одной вкладки на другую не обновляет страницу. Но мне нужно обновить данные имени по нажатию кнопки. (Также кнопка находится на совершенно другом компоненте)

0 ответов

Другие вопросы по тегам