Cerco di creare percorsi dinamici da angular2 (recupera route config dal server), dopo di che lo analizzo e genera istruzioni per il route del componente (ho padre route config e child in componenti diversi, perché non so come definire il percorso per il componente figlio in un file main.app.ts).Async load routes data and build route instruction for Angular 2
Il problema è quando l'app è stata avviata e provare a creare percorsi config e routeGenerator non è ancora percorso di costruzione (ritardo asincrono) può t parse routes data (because async delay, so routesData undefined now) and app is crashig. I don
t sapere cosa fare con questo. Alla ricerca del ciclo di vita (alcuni come - @ Angular2BeforeAppStarted) ma non hanno trovato nulla.
import {Component, Input, OnChanges} from 'angular2/core';
import {RouteConfig, RouterOutlet, ROUTER_DIRECTIVES, Router} from 'angular2/router';
/* ------- !Angular 2 native components ---------*/
import {routeGenInstance} from '../../config/routes/patient_routes';
protected const BUILT_MODULE_PATH: string = '/built/modules/patients/';
@Component({
template: `
<router-outlet ></router-outlet>
`,
directives: [RouterOutlet, ROUTER_DIRECTIVES]
})
@RouteConfig(routeGenInstance.getRouteDefinitions())
export class PatientsComponent {
@Input();
constructor() {}
}
Inoltre provo ad aggiornare percorsi nello stesso modo (ma app è schiantato subito perché il mio link di navigazione nella componente di navigazione non è avere un modo link corretto)
import {RouteConfig, RouterOutlet, ROUTER_DIRECTIVES, Router} from 'angular2/router';
constructor(
private router: Router
) {
router.config([
routeGenInstance.getRoutesDefinition()
])
}
mie definizioni uso Come Async caricatore in modo che siano corretti e funzionano senza ritardo asincrono. Non so come rendere angolare l'attesa per le definizioni dei miei percorsi e avviare l'app.
Per favore, aiutatemi. Grazie.
UPD:
@Thierry molte grazie per il vostro aiuto di nuovo. Sei fantastico amico mio e mentore. Un'ultima domanda (ultima). Puoi dirmi come posso definire routeConfig in un file app con definizione di sottotitolazione figlio? La sua media. Ho principali vie di livello in file app
{
path: '/',
name: 'Dashboard',
component: DashboardComponent,
useAsDefault: true
},
{
path: '/patients/...',
name: 'Patients',
component: PatientsComponent
},
e percorsi sub paziente nella patientsComponent (@RouteConfig)
{
path: '/', // root is appRoot/patients/...
name: 'PatientsList', component...},
{
"name": "Chart",
"path": "/chart/:id", component...
},
Come definire questo percorso di configurazione solo in uno app.file? (Come configurare l'instradamento con il sottotitolo in un file)?
'RouterOutlet' è già contenuto in' ROUTER_DIRECTIVES', non è necessario aggiungerlo di nuovo. –
Come appare 'routeGenInstance.getRouteDefinitions()'? Cosa restituisce? –