Угловое шоу-закусочная после навигации - PullRequest
2 голосов
/ 05 июня 2019

У меня есть два компонента. В первом случае успешного ответа сервера я хочу сделать следующее:

this.router.navigate(['']);
this.snackBarMessage = 'Successfully submitted';

Затем страница перенаправляется в другой компонент, и я хотел бы показать там сообщение snackBarMessage, например, (ngOnInit ())

Нечто подобное:

this.snackBarService.openSnackBar(snackBarMessage, 'Close', 9999999);

Мой перекус БарСервис:

import { Injectable } from '@angular/core';
import { MatSnackBar } from '@angular/material';

@Injectable({
  providedIn: 'root'
})
export class SnackBarService {

  constructor(private matSnackBar: MatSnackBar) { }

  openSnackBar(message: string, action: string, duration?: number) {
    this.matSnackBar.open(message, action, { duration });
  }
}

Как мне этого достичь? Как я могу передать snackBarMessage другому компоненту после навигации?

1 Ответ

2 голосов
/ 05 июня 2019

this.router.navigate([``]) возвращает обещание, на которое вы можете подписаться.Это обещание будет выполнено после успешной навигации.Пожалуйста, смотрите это Документация для получения дополнительной информации.

this.router.navigate(['']).then((navigated: boolean) => {
    if(navigated) {
      this.snackBarService.openSnackBar(snackBarMessage, 'Close', 9999999);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...