簡體   English   中英

角度:路由未正確顯示我的組件

[英]angular: routing isn't showing my component properly

我的app.module.ts

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


import { AppComponent } from './app.component';
import { LoginComponent } from './login/login/login.component';
import { AppRoutingModule } from './app-routing.module';


@NgModule({
  declarations: [
    AppComponent,
    LoginComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

我的app-routing.module

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule, Routes } from '@angular/router';
import { LoginComponent } from './login/login/login.component';

export const appRoutes: Routes = [
  { path: '', component: LoginComponent},
  {
      path: 'ok',
      component: LoginComponent,
  },
  // otherwise redirect to home
  { 
    path: '**', 
    component: LoginComponent 
  }
];

@NgModule({
  imports: [
    RouterModule.forRoot(appRoutes),
  ],
  exports:[
    RouterModule
  ]
})
export class AppRoutingModule { }

我想將登錄組件顯示為主頁,無論選擇哪種路徑都將重定向到登錄組件。 我試圖把我的logincomponent在引導我app.module.ts,但它給了我一個錯誤。

我的登錄組件是一個簡單的<p>login works!</p>

您必須按以下方式配置路由,

 imports: [
    RouterModule.forRoot([
      { path: '', component: LoginViewComponent },
      { path: 'ok', component: LoginViewComponent },
      { path: '**', redirectTo: 'login' }
    ])
  ]

STACKBLITZ DEMO

修改Routes添加redirect路由和pathMatch屬性,以告訴路由器如何將URL與路由路徑匹配

export const appRoutes: Routes = [
     { path: '',   redirectTo: '/ok', pathMatch: 'full' },
      {
          path: 'ok',
          component: LoginComponent,
      },
      // otherwise redirect to home
      { 
        path: '**', 
        component: LoginComponent 
      }
    ];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM