Почему мои маршруты в AngularJS не работают?

Я новичок в AngularJS, и я хочу создать простую регистрационную форму, но мои маршруты не работают.

Это мой app.routing.ts :

import { Routes, RouterModule } from '@angular/router';

import { HomeComponent } from './home/home.component';
import { RegistrationComponent } from './registration/registration.component';

const appRoutes: Routes = [
    { path: '', component: HomeComponent },
    { path: 'register', component: RegistrationComponent },
];

export const routing = RouterModule.forRoot(appRoutes);

Это app.module.ts :

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import { HomeComponent } from './home/home.component';
import { RegistrationComponent } from './registration/registration.component';
import { routing } from './app.routing';

@NgModule({
    imports: [
        BrowserModule,
        routing
    ],
    declarations: [
        AppComponent,
        HomeComponent,
        RegistrationComponent
    ],
    providers: [],
    bootstrap: [AppComponent]
})
export class AppModule { }

Это app.component.html :

<router-outlet></router-outlet>

Я не понимаю, почему, когда я запускаю сервер, страница по умолчанию пуста, а не отображается html, содержащаяся в '' .

Как я могу решить?

angular,

0

Ответов: 1


0

Порядок маршрутов очень важен, поскольку они оцениваются для того, чтобы они были определены. В основном, в вашем примере, Angular проверяет пустой маршрут HomeComponentи, если такой маршрут найден, тогда он home.component.htmlдолжен быть загружен и что вы увидите home.component.html. Самый простой способ проверить это - добавить некоторый контент в home.component.html.

Если вам нужно показать RegistrationComponentпустой маршрут, я предлагаю изменить определение маршрута для пустого маршрута '':

{ path: '', component: HomeComponent },
{ path: 'register', component: RegistrationComponent }

в

{ path: 'register', component: RegistrationComponent },
{ path: '', redirectTo: 'register', pathMatch: 'full' }

Таким образом, Angular сначала проверит, соответствует ли url registerмаршруту. Если этого не произойдет, он проверяет, является ли это ''маршрут. Если это так, маршрутизатор переключится на registerмаршрут, который будет загружать RegistrationComponent.

Надеюсь это поможет.

угловая,
Похожие вопросы
Яндекс.Метрика