【发布时间】:2018-12-16 15:13:45
【问题描述】:
我正在使用 Angular 6.0.3。我有一个名为“Admin”的子模块,包含三个组件。 Admin 的根组件(“AdminComponent”)路由工作正常(path: ""),但我似乎无法触发任何其他路由。为什么 Angular 找不到我的路线?
routes.ts
import { Routes } from "@angular/router";
import { SplashComponent } from "./splash/splash.component";
import { LoginComponent } from "./login/login.component";
import { WatchComponent } from "./watch/watch.component";
import { AdminComponent } from "./admin/admin/admin.component";
import { HomeComponent as AdminHomeComponent } from "./admin/home/home.component";
import { AddSongComponent } from "./admin/add-song/add-song.component";
import { AdminGuard } from "./auth/admin.guard";
export const appRoutes: Routes = [
{
path: "",
children: [
{ path: "", component: SplashComponent, pathMatch: "full" },
{ path: "login", component: LoginComponent, pathMatch: "full" },
{ path: "watch", component: WatchComponent, pathMatch: "full" },
{
path: "admin",
component: AdminComponent,
pathMatch: "full",
canActivate: [AdminGuard],
children: [
{
path: "",
component: AdminHomeComponent,
pathMatch: "full",
outlet: "admin"
},
{
path: "add-song",
component: AddSongComponent,
pathMatch: "full",
outlet: "admin"
}
]
}
]
}
];
admin/admin/admin.component.html
<router-outlet name='admin'></router-outlet>
admin/home/home.component.html
<div>
<a mat-raised-button [routerLink]="['add-song']">Add new song</a>
</div>
注意:我也试过[routerLink]="[{ outlets: { admin: ['add-song'] } }],仍然找不到路由。
【问题讨论】:
-
您好,您指定的 router-outlet 可能有问题。您能否提供一个有效的 stackblitz 示例?这样我就可以帮你了。
-
这个答案对你有帮助吗?