2015-12-21 8 views

Odpowiedz

1

To zależy od tego, co chcesz osiągnąć, ale jest możliwe, aby wstrzyknąć Router w swoim najwyższym poziomie komponentu i .subscribe() do niego, aby uzyskać strumień stanach.

Użyłem go do zbudowania funkcjonalności, która zmienia tytuł przeglądarki na podstawie bieżącego stanu. Mając na uwadze powyższe można myśleć o nim jako ekwiwalent $stateChangeSuccess i $stateChangeFailure wydarzeń z Kątowymi 1.

Kod będą:

constructor(router: Router) { 
    router.subscribe(successHandler, failureHandler); 
} 

wziąć również spojrzeć na OnActivate który jest również związane z tymi pojęciami.

0

mojego kodu, dla UI-router, zakończyła się szuka czegoś podobnego następującym zastąpić NG1 $ rootScope $ stateChangeSuccess dla Angular2:

import { Component } from '@angular/core'; 
import { TransitionService } from "ui-router-ng2"; 

@Component({selector: 'app-stage-tag',template: '...'}) 
class AppComponent { 
    constructor(public transitionService: TransitionService){ 
    transitionService.onSuccess({to:'*'}, transition=>{ 
     console.log('state', transition._targetState._definition) 
     console.log('params', transition._targetState._params) 
    }) 
    } 
}