2017-09-20 1 views
4

Y a-t-il quelque chose dans Angular 4 que je peux appeler, où je passe soit une chaîne, soit le tableau des jetons route et récupère les données de route statiques pour cette route?Angulaire 4, obtenir des données de route sans réellement acheminer

Par exemple:

const targetRoute = '/test/route' 
const routeData = {{something}}.getRouteData(targetRoute) 

// { routeDataValue: 'something' } etc... 

Les données que je cherche est les données définies dans la Route Définitions

const routes: Routes = [ 
    { 
     path: 'test/route', 
     data: { //This data object 
      animation: { 
      value: 'fetching-results' 
      }, 
      progress: 100, 
      sectionIdentifier: { 
      background: 'results', 
      backLinkUrl: null, 
      backLinkText: null 
      } 
     }, 
    } 
] 
+0

Quelles sont les "données" que vous voulez de la route? Les paramètres? – msanford

+1

J'ai mis à jour la question en spécifiant les données dont j'ai besoin – tt9

+0

avez-vous exploré le résolveur de route –

Répondre

3

Vous pouvez obtenir tous vos itinéraires et configs itinéraire (y compris la propriété de données) à partir du routeur comme ceci:

import { Router } from '@angular/router'; 

... 

constructor(
    private router: Router) { 
} 

ngOnInit() { 
    // all routes 
    console.log(this.router.config); 

    // data of test/route 
    console.log(this.router.config.find(route => route.path === 'test/route').data); 
}