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