Как определить, когда изменен маршрут и заменен новый вид в Angular - PullRequest
0 голосов
/ 04 июня 2018

Я ищу, чтобы определить, когда изменен маршрут и заменено новое представление (html).

Пробовал ниже код, но не знаю, как двигаться дальше.

this._routerSub = this.router.events
  .filter(event => event instanceof NavigationEnd)
  //.do(event => console.log(event)) // 
  .subscribe((value) => { });

Также пробовал нижекод, но получая ошибку

Аргумент типа Event не может быть назначен параметру типа '(значение: Event) => void'.

   import { Router, NavigationEnd, Event  } from '@angular/router';

   this._routerSub = this.router.events  
      .subscribe(event : Event) => {
      if (event instanceof NavigationEnd) {
        console.log(event.url);
      }
    });

Ниже приведены Vegaмой код app.component.ts и app.component.ts.Разве это не значит, что нужно вызвать onActivate при активации.Поскольку розетка маршрутизатора будет генерировать событие активации каждый раз, когда создается новый компонент.

app.component.html

<router-outlet (activate)="onActivate($event)" ></router-outlet>

app.component.ts

   onActivate(e) {
        debugger;
        console.log(1);
      }

1 Ответ

0 голосов
/ 04 июня 2018

Как насчет использования выставленного роутера activate событие:

<router-outlet (activate)="onActivate($event)"></router-outlet>

onActivate(e) {
  console.log(e.constructor.name);
  //etc... you can access to a lot of other information
}
...