Прежде чем начать, подумайте о структуре своего приложения, как вы хотите все настроить.Что я имею в виду, это сделать набросок ваших страниц, как вы хотите назвать их и так далее ... позже вы можете настроить свою маршрутизацию.
Например, это отрывок из одного из моихapps:
const routes: Routes = [
{ path: '', component: MainComponent, children: [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: 'blog', loadChildren: () => import('../modules/blog/blog.module').then(m => m.BlogModule)},
{ path: 'about', component: AboutComponent },
{ path: 'contact', component: ContactComponent },
{ path: 'legal', component: ImpressumComponent },
{ path: 'privacy', component: PrivacyComponent },
{ path: 'signin', component: SigninComponent },
{ path: 'signup', component: SignupComponent },
{ path: 'signout', component: SignoutComponent },
{ path: '**', component: NotFoundComponent }
]}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
Здесь в этом примере MainComponent
имеет одну <router-outlet></router-outlet>
, а страницы blog
загружаются при отложенной загрузке, что также означает, что BlogModule
имеет свою собственную <router-outlet></router-outlet>
и настройка маршрутизации.Это будет импортировано туда с RouterModule.forChild(routes)
.Для получения дополнительной информации вам нужно глубже погрузиться в документы и их приложение Heroes.
Импортируйте этот модуль маршрутизации в свой основной AppModule
:
@NgModule({
declarations: [
AppComponent,
HomeComponent,
AboutComponent,
PrivacyComponent,
ImpressumComponent,
NotFoundComponent,
ContactComponent
],
imports: [
BrowserModule,
BrowserAnimationsModule,
AppRoutingModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Для навигации вы можете простонастройте routerLink
атрибуты:
<mat-toolbar color="primary">
<app-page-content>
<a routerLink="/home" mat-button><i class="material-icons" style="margin-bottom: 3px">home</i> Home</a>
<a routerLink="/blog" mat-button><i class="material-icons" style="margin-bottom: 3px">dashboard</i> Blog</a>
<a routerLink="/about" mat-button><i class="material-icons" style="margin-bottom: 3px">person</i> About</a>
<a routerLink="/contact" mat-button><i class="material-icons" style="margin-bottom: 3px">mail</i> Contact</a>
<span class="flex-spacer"></span>
<a routerLink="signin" mat-button><span class="mi mi-person"></span></a>
</app-page-content>
</mat-toolbar>
Если вы не понимаете всего этого, я настоятельно рекомендую вам внимательно изучить угловой курс.Просто наберите на YouTube "Angular Crash Course 2019", там есть довольно хороший!