typescript - bruke navn i angular 2 når du setter opp ruter
Jeg har en Angular 2-app som ble skrevet i Angular 2 beta 14. Jeg oppgraderer den til rc5. Jeg bruker den nyeste ruteren, og min package.json inneholder "@angular/router": "3.0.0-rc.1"
Tidligere ble rutene konfigurert slik:
{path:'/...',name:'LoggedIn',component:LoggedInComponent},
{path:'/auth', name:'Auth', component:AuthComponent}
Nå gjør jeg det på denne måten
import { RouterModule , Routes } from '@angular/router';
import {AuthComponent} from "./auth/auth.component";
import {LoggedInComponent} from "./auth/logged-in.component";
import {LOGGED_IN_ROUTES} from "./auth/logged-in.routes";
const APP_ROUTES : Routes = [
{ path : '/...' , name :'LoggedIn' , component : LoggedInComponent , children : LOGGED_IN_ROUTES},
{ path : '' , component : AuthComponent},
{ path : 'auth' , component : AuthComponent},
];
export const routing = RouterModule.forRoot(APP_ROUTES);
Jeg får en feil som
Type '({ path: string; name: string; component: typeof LoggedInComponent; children: Route[]; } | { path...' is not assignable to type 'Route[]'.
Type '{ path: string; name: string; component: typeof LoggedInComponent; children: Route[]; } | { path:...' is not assignable to type 'Route'.
Type '{ path: string; name: string; component: typeof LoggedInComponent; children: Route[]; }' is not assignable to type 'Route'.
Object literal may only specify known properties, and 'name' does not exist in type 'Route'.
Svar #1
name er nå foreldet, API-et har blitt oppgradert siden beta, du kan lese mer om det her.
For å sjekke hvordan du konfigurerer rute og skjemaet til Routes-arrayen, se dette
Håper dette hjelper!!
Svar #2
Send det som data via datanøkkelen, slik:
{ path: 'your_path', component: yourComponent, data: { name: 'your_path_name' }}
Les mer: https://angular.io/guide/router#configuration
