Как мне условно перейти с router.navigate? - PullRequest
0 голосов
/ 26 июня 2019

У меня есть таблица сущностей.Когда вы щелкаете строку, вы попадаете на другую страницу, представляющую сущность (просмотр страницы).Функциональность использует router.navigate.

Когда объект удаляется, вы не можете увидеть его: вы получаете 404, пытаясь открыть URL-адрес.Не существует универсального способа вызова backend и выяснения, существует ли сущность до сих пор.

Так что мне нужна какая-то условная навигация: если ссылка больше не действительна, я не хочу переходить к ней (возможно, показать модальный и т. Д.).Как мне это сделать с Angular?

Спасибо!

1 Ответ

0 голосов
/ 26 июня 2019

Вы можете использовать HttpClient, чтобы увидеть, возвращает ли ваша страница статус 200.

Например:

constructor(private http: HttpClient) {
  this.http.get('/').subscribe(res => {
  }, error => {
    if (error.status === 200) console.log(error.status);
  })
}

Это всегда будет возвращать ошибку даже при статусе 200, поэтому проверьте статус 200, а затем используйте навигацию. Вы, вероятно, должны отписаться, когда вы закончите.

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