typescript - rotaları ayarlarken Angular 2'de isim kullanmak


Angular 2 beta 14 ile yazılmış bir Angular 2 uygulamam var. Bunu rc5'e yükseltiyorum. En son yönlendiriciyi kullanıyorum, package.json dosyam şunu içeriyor: "@angular/router": "3.0.0-rc.1"

Daha önce yönler şöyle yapılandırılmıştı :

{path:'/...',name:'LoggedIn',component:LoggedInComponent},
{path:'/auth', name:'Auth', component:AuthComponent}

Şimdi bunu böyle yapıyorum

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);

Şu şekilde bir hata alıyorum

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'.

Cevap #1

name artık kullanımdan kaldırıldı, API beta sürümünden bu yana güncellendi, bunun hakkında daha fazla bilgiyi burada okuyabilirsiniz.

Rota yapılandırmasının ve Routes dizisinin şemasının nasıl olduğunu kontrol etmek için buna bakın

Umarım bu yardımcı olur!!

Cevap #2

Bunu veri anahtarı aracılığıyla veri olarak iletin, şöyle:

{ path: 'your_path', component: yourComponent, data: { name: 'your_path_name' }}

Daha fazla oku: https://angular.io/guide/router#configuration