雖然推薦模塊,但它們對於任何路線導航都是可選的。
您可以像下面那樣配置路由而不需要任何模塊。
app.routing
import { Routes, RouterModule } from '@angular/router';
import { DashboardComponent,
AdminComponent,
ProfileComponent,
UsersComponent
} from './app.component';
const appRoutes: Routes = [
{
path: '',
redirectTo: '/dashboard/admin/users',
pathMatch: 'full'
},
{
path: 'dashboard',
component: DashboardComponent,
children:[
{
path : 'admin',
component: AdminComponent,
children:[
{
path : 'users',
component: UsersComponent
},
{
path : 'profile',
component: ProfileComponent
}
]
}
]
}
];
export const routing = RouterModule.forRoot(appRoutes);
部件
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `
<h3 class="title">Routing Deep dive</h3>
<hr />
<router-outlet></router-outlet>
`
})
export class AppComponent {
}
@Component({
template: `
<h3 class="title">Dashboard</h3>
<nav>
</nav>
<hr />
<router-outlet></router-outlet>
`
})
export class DashboardComponent {
}
@Component({
template: `
<h3 class="title">Admin</h3>
<nav>
<a routerLink="users" routerLinkActive="active" >Users</a>
<a routerLink="profile" routerLinkActive="active" >Profile</a>
</nav>
<hr />
<router-outlet></router-outlet>
`
})
export class AdminComponent {
}
@Component({
template: `
<h3 class="title">Profile</h3>
`
})
export class ProfileComponent {
}
@Component({
template: `
<h3 class="title">Users</h3>
<hr />
`
})
export class UsersComponent {
}
這裏是Plunker !!
希望這有助於!
模塊是延遲加載所必需的,據我所知,在下一次更新之後將是必需的,因爲不推薦使用「Component.pipes」和「Component.directives」。 –
很高興知道!昨天我問自己爲什麼他們沒有使用「。(Angular 2 documentation)例子中的「directives」屬性,所以現在一切都將從模塊中導入,而不是從組件中導入,如果是這樣的話,還有另外一個理由來使用模塊!Hahahah。 –