58
задан 13 May 2017 в 23:03

1 ответ

Можно также отфильтровать события с filter().

, Но не делают всего использование filter(e => e is NavigationEnd)

А, намного лучшее решение состоит в том, чтобы добавить 'защиту типа' к filter() как это:

 filter((e): e is NavigationEnd => e instanceof NavigationEnd), 

Это содержит две вещи:

  • e is NavigationEnd это - утверждение, Вы определяете функцию для (это - синтаксис машинописного текста)
  • e instanceof NavigationEnd, это - фактический код во время выполнения, который проверяет тип

, которым хорошая вещь с этим состоит в том, что операторы далее вниз 'канал', как map ниже теперь знают, что тип NavigationEnd, но без защиты типа у Вас было бы тип Event.

, Если только необходимо проверить на один тип события затем, это - самый чистый способ сделать так. Это также, кажется, необходимо в строгом режиме для предотвращения ошибок компилятора.

enter image description here

6
ответ дан 1 November 2019 в 13:42

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

Похожие вопросы: