2016-06-23 3 views
5

В angular2 rc1 я подписываюсь для изменения маршрута:Угловое 2 rc3 маршрутизатор подписаться

this.router.changes.subscribe(
() => { 
    console.log(this.location.path()); 
}); 

Как я могу подписаться, чтобы изменить маршрут в angular2 rc3? router.changes уже не существует.

+0

Я думаю, что это DUP из http://stackoverflow.com/questions/37977428/how-to-use-new-navigationstart-angular-router- 3-0-0-alpha –

ответ

5
constructor(router:Router) { 
    router.events.subscribe(event:Event => { 
    if(event instanceof NavigationStart) { 
    } 
    // NavigationEnd 
    // NavigationCancel 
    // NavigationError 
    // RoutesRecognized 
    } 
} 

или

constructor(router:Router) { 
    router.events.forEach(event:Event => { 
+0

Есть ли (событие является NavigationStart) sudo-код? в Javascript нет такой вещи, как «есть»? Я не могу найти способ проверить конкретное событие, подобное тому, которое вы показываете в этом примере. – HomeBrew

+0

Использовать if (event instanceof NavigationStart) вместо –

+0

Спасибо @KrishnanunniJeevan. Извините, смешение некоторых Дарт в коде - исправлено. –

3
constructor(private router: Router) { 
    this.router.events.subscribe(event => { 
    if (event.constructor.name === 'NavigationStart') { 
     console.log(event.url); 
    } 
    }); 
} 
Смежные вопросы