Angular 无法加载子路由
Angular can't load child route
我会在 angular
中导航到儿童路线
这是路线文件
import { NgModule } from "@angular/core";
import { Routes, RouterModule } from "@angular/router";
import { ModuleWithProviders } from "@angular/core";
import { AdministrationComponent } from "./administration.component";
import { UserDisplayComponent } from "./user-display/user-display.component";
import { ResulTabComponent } from "./result-tab/result-tab.component";
const routes: Routes = [
{
path: "",
component: AdministrationComponent,
pathMatch: "full",
children: [
{ path: "", component: ResulTabComponent, pathMatch: "full" },
{ path: "userdetails", component: UserDisplayComponent }
]
}
];
export const AdministrationRouting: ModuleWithProviders = RouterModule.forChild(
routes
);
{
}
管理组件延迟加载到路由 administration
当我点击 table 行时,我会导航到 userdetails 路由,因此 http://localhost:4200/administration/userdetails
selectedUserDetails(userDetails) {
this.router.navigate(["userdetails"]);
}
实际上我得到了这个错误
ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'userdetails'
您似乎错过了 /administration
selectedUserDetails(userDetails) {
this.router.navigate(["/administration", "userdetails"]);
}
并且父路由必须在路径中有'administration'
const routes: Routes = [
{
path: "administration",
component: AdministrationComponent,
pathMatch: "full",
children: [
{ path: "", component: ResulTabComponent, pathMatch: "full" },
{ path: "userdetails", component: UserDisplayComponent }
]
}
];
看看这个post。
您的 AdministrationComponent 和 ResulTabComponent 被定义为同一路径。
我会在 angular
中导航到儿童路线这是路线文件
import { NgModule } from "@angular/core";
import { Routes, RouterModule } from "@angular/router";
import { ModuleWithProviders } from "@angular/core";
import { AdministrationComponent } from "./administration.component";
import { UserDisplayComponent } from "./user-display/user-display.component";
import { ResulTabComponent } from "./result-tab/result-tab.component";
const routes: Routes = [
{
path: "",
component: AdministrationComponent,
pathMatch: "full",
children: [
{ path: "", component: ResulTabComponent, pathMatch: "full" },
{ path: "userdetails", component: UserDisplayComponent }
]
}
];
export const AdministrationRouting: ModuleWithProviders = RouterModule.forChild(
routes
);
{
}
管理组件延迟加载到路由 administration
当我点击 table 行时,我会导航到 userdetails 路由,因此 http://localhost:4200/administration/userdetails
selectedUserDetails(userDetails) {
this.router.navigate(["userdetails"]);
}
实际上我得到了这个错误
ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'userdetails'
您似乎错过了 /administration
selectedUserDetails(userDetails) {
this.router.navigate(["/administration", "userdetails"]);
}
并且父路由必须在路径中有'administration'
const routes: Routes = [
{
path: "administration",
component: AdministrationComponent,
pathMatch: "full",
children: [
{ path: "", component: ResulTabComponent, pathMatch: "full" },
{ path: "userdetails", component: UserDisplayComponent }
]
}
];
看看这个post。
您的 AdministrationComponent 和 ResulTabComponent 被定义为同一路径。