我正面臨重復路徑的問題。出于測驗目的,我制作了一個 TestingComponent 來演示。
我的代碼:
const routes: Routes = [
{
path: '',
redirectTo: 'testing',
pathMatch: 'full'
},
{
path: 'testing',
component: TestingComponent
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
@NgModule({
declarations: [
AppComponent,
TestingComponent,
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
],
providers: [DatePipe],
bootstrap: [AppComponent]
})
export class AppModule { }
在應用程式組件 html 中:
<router-outlet></router-outlet
這個問題是特定于專案的,當我創建一個新專案時,一切正常,但在這個專案中:
當我輸入 localhost:4200 時,它會將我重定向到 localhost:4200/testing (這是正確的)當我重繪 頁面時,它將我從 localhost:4200/testing 重定向到 localhost:4200/testing/testing (這很奇怪,它不應該像這樣作業)。
我已經嘗試過更改路線的順序,但根本沒有幫助。
uj5u.com熱心網友回復:
您正在相對導航。在 URL 前加上 a/來導航absolutely。
當路徑匹配時重定向到的 URL。
如果 URL 以斜杠 (/) 開頭,則絕對,否則相對于路徑 URL。>請注意,在絕對重定向之后不會評估進一步的重定向。
當不存在時,路由器不會重定向。
{
path: '',
redirectTo: '/testing',
pathMatch: 'full'
},
uj5u.com熱心網友回復:
添加'pathMatch:'full''后它正在作業,
import { NgModule } from '@angular/core';
import { PreloadAllModules, RouterModule, Routes } from '@angular/router';
import { DashboardComponent } from './dashboard/dashboard.component';
const routes: Routes = [
{
path: '',
redirectTo: 'dashboard',
pathMatch: 'full',
},
{
path: 'dashboard',
component: DashboardComponent,
},
];
@NgModule({
imports: [
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }),
],
exports: [RouterModule],
})
export class AppRoutingModule {}
https://stackblitz.com/edit/angular-ivy-jnaiij?file=src/app/app.routing.ts
uj5u.com熱心網友回復:
問題解決了。有人添加baseHref了angular.json架構師構建選項。謝謝你的幫助!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/433932.html
