Уведомление о тосте после отправки в угловом режиме (успешно или неудачно) - PullRequest
0 голосов
/ 14 октября 2019

Я новичок в Angular, поэтому извините, если вам будет очень легко. Я хотел бы распечатать уведомление о тосте после действия «отправить» от пользователя, зеленого цвета в случае успеха (на другой странице), красного цвета в случае неудачи (на странице с формой). В настоящее время я сохраняю данные в БД и перехожу к виду поста, мой API возвращает код 200. Я думал передать код состояния http или логическую переменную, но я не знаю, как перейти на другую страницу/составная часть. Вот что я пробовал

if (this.actionType === 'Add') {
        const post: Post = {
        /....../
          data: this.form.get(this.formData).value
        /....../
        };
        this.postService.savePost(post)
          .subscribe((data) => {
            this.router.navigate(['/post', data.id]);
          });
      }

Это моя функция в Сервисе

savePost(post): Observable<Post> {
    return this.http.post<Post>(this.myAppUrl + this.myPost, JSON.stringify(post), this.httpOptions)
      .pipe(
        retry(1),
        catchError(this.errorHandler)
      );
  }

Большое спасибо

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

Этот код работает с использованием ngx-toast.

this.postService.savePost(post)
              .subscribe(
               data => {
                this.router.navigate(['/post', data.id]);
              this.showSuccess();
              },
              error => ( this.showError(); )
          );
    showSuccess() {
        this.toastr.success('Post Added', 'Success');
      }
    showError() {
        this.toastr.success('Something went wrong', 'Error');
      }
0 голосов
/ 14 октября 2019

Вы можете использовать один из пакетов npm (ngx-toastr) для уведомления о тостах - https://www.npmjs.com/package/ngx-toastr/v/8.8.0

...