As a laravel developer i like to have named routes feature in angular too!
npm install named-routes-angular --save
...
import { NamedRoutesModule } from 'named-routes-angular';
@NgModule({
imports: [
...
NamedRoutesModule
],
...
})
export class AppModule {}
...
...
const routes: Routes = [
{
path: 'hero',
data: {
name: 'hero'
},
children: [
{
path: '',
component: HeroesComponent,
data: {
name: 'index'
}
},
{
path: ':id',
children: [
{
path: 'show',
component: HeroShowComponent,
data: {
name: 'show'
}
},
{
path: 'edit',
component: HeroEditComponent,
data: {
name: 'edit'
}
}
]
}
]
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {}
...
...
<a [routerLink]="'hero.edit' | namedRoute: [hero.id]">{{ hero.name }}</a>
...