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
