组件未在预期的路由器插座上加载

时间:2019-06-25 12:22:39

标签: angular

这是我的问题的重复内容,但我已经使问题更清楚了。我有2个路由admin-layout.routing.ts和parameter.routing.ts 在admin-layout.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] }

parameters.routing.ts

import { Routes } from '@angular/router';
import { SoaDateComponent } from './soa-date/soa-date.component';

export const ParametersRoutes: Routes = [
    { path: 'soadate', component: SoaDateComponent }
];

parameters.module.ts

@NgModule({
    imports: [
        CommonModule,
        RouterModule.forChild(ParametersRoutes),
    ],
    declarations: [
        SoaDateComponent
    ]
})

export class ParmetersModule { }

parameters.component.html

<a [routerLink]="['/soadate']" routerLinkActive="active" >SOA DATE</a>
<router-outlet name="paramOutlet"></router-outlet>

我需要你的帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

由于没有足够的代码来解决此问题,因此我根据所理解的问题创建了一个堆栈闪电。 我认为您需要在此处创建parent-children结构以实现您想要的功能。

还有一件事,您是否要将ParametersComponent包含在任何组件的declarations中?

无论如何,这是堆叠闪电战,

https://stackblitz.com/edit/angular-yashpatelyk-routing-inap6y

如果我没记错,这就是您要实现的目标,

App> PropertyComponent> ParametersComponent> SoaDateComponent

在我的示例中,单击显示的链接,您将看到上面的结构,即SoaDateComponent已正确加载到ParametersComponent中。 可能对您有帮助的代码在parameters.module.ts