angular - 组件未加载到预期的路由器插座上
问题描述
这是我的问题的副本,但我已经使问题更清楚了。我在 admin-layout.routing.ts 中有 2 个路由 admin-layout.routing.ts 和 parameter.routing.ts 我有一个 property.component.ts 的路径,它有一个名为 parameter.component.ts 的子节点。在这个 parameter.component.ts 我有一个路由器插座,我希望 soa-date.component.ts 出来。我可以访问 soa-date.component.ts 但它没有显示在预期的第二个路由器插座中。它只是出现在第一个路由器插座上。我也没有任何错误。
admin-layout.routing.ts
{ path: 'property', component: PropertyComponent, canActivate: [AuthGuard],
children: [
{ path: '', component: ParametersComponent,
loadChildren: '../../property/parameters/parameters.module#ParmetersModule'
}
]
},
{ path: 'person', component: PersonComponent, canActivate: [AuthGuard] }
参数.routing.ts
import { Routes } from '@angular/router';
import { SoaDateComponent } from './soa-date/soa-date.component';
export const ParametersRoutes: Routes = [
{ path: 'soadate', component: SoaDateComponent }
];
参数.module.ts
@NgModule({
imports: [
CommonModule,
RouterModule.forChild(ParametersRoutes),
],
declarations: [
SoaDateComponent
]
})
export class ParmetersModule { }
参数.component.html
<a [routerLink]="['/soadate']" routerLinkActive="active" >SOA DATE</a>
<router-outlet name="paramOutlet"></router-outlet>
我需要你的帮助。谢谢你。
解决方案
由于没有足够的代码来调试这个问题,我根据我对问题的理解创建了一个堆栈闪电战。我认为你需要在parent-children
这里创建一个结构来实现你正在寻找的东西。
还有一件事你包括ParametersComponent
在declarations
任何组件中吗?
不管怎样,这里是stackblitz,
https://stackblitz.com/edit/angular-yashpatelyk-routing-inap6y
如果我没有错,这就是您要实现的目标,
App
> PropertyComponent
> ParametersComponent
>SoaDateComponent
在我的示例中,单击显示的链接,您将看到上面的结构,即正确SoaDateComponent
加载。ParametersComponent
可能对您有帮助的代码在parameters.module.ts
推荐阅读
- bash - if 语句使用“sed”设置变量不起作用
- multi-tenant - Kyma 的多租户
- ios - 如何在iOS中计算加速度的速度和距离
- kubernetes - 带有 gltlab-runner helm 安装的自定义卷
- javascript - 如何不在特定页面上执行 JS 代码
- react-native - 在没有 expo-cli 的情况下使用 create-react-native-app
- mysql - 从与 MYSQL JSON 中的属性匹配的对象数组中选择对象
- shell - awk 过滤掉消息/规则并显示合并消息的数量
- ios - 难以避免子类化
- javascript - Browser.execute 为所有人返回未定义