【发布时间】:2019-05-02 14:48:14
【问题描述】:
我有一个带有登录组件和仪表板组件的 Angular 6 应用程序。 我正在尝试在登录按钮单击事件上导航到 DashboardComponent。 DashboardComponent 包含一个名为 WardComponent 的子组件。 但是在导航到仪表板时,它只呈现子组件病房以外的内容。我如何在登录后呈现带有子组件的仪表板组件?
请在下面查看我的组件类
应用组件
<router-outlet></router-outlet>
LoginComponent.ts
export class LoginComponent {
constructor(private router: Router) {}
login() {
this.router.navigate(["/dashboard/"]);
}
}
仪表板组件
import { Component } from "@angular/core";
@Component({
selector: "dashboard",
template: `
haii u r in dashboard compo
<div class="form-inline" style="padding: 40px;">
<ward *ngFor="let ward of wards" [wardNumber]="ward"></ward>
</div>
`
})
export class DashboardComponent {
constructor() {}
}
WardComponent.ts
import { Component, Input } from "@angular/core";
@Component({
selector: "ward",
template: `
<div class="card bg-light mb-3" style="max-width: 18rem;">
<div class="card-header"></div>
<div class="card-body">
<h2 class="card-title">{{ wardNumber + 1 }}</h2>
<button class="btn btn-primary" (click)="checkIn()">check in</button>
<button class="btn btn-primary" (click)="checkOut()">check Out</button>
</div>
</div>
`
})
export class WardComponent {
@Input() wardNumber: Number;
checkedIn: boolean = false;
constructor() {}
checkIn() {
console.log("checked in");
this.checkedIn = true;
}
checkOut() {}
}
app.module.ts
const indexRoutes: Route = {
path: "",
component: DashboardComponent
};
// for all invalid routers , it will redirect to login component
const fallbackRoutes = {
path: "**",
component: LoginComponent
};
const routes: Routes = [
indexRoutes,
{
path: "dashboard",
component: DashboardComponent
},
{
path: "ward",
component: WardComponent
},
fallbackRoutes
];
@NgModule({
declarations: [
AppComponent,
WardComponent,
LoginComponent,
DashboardComponent
],
imports: [BrowserModule, RouterModule.forRoot(routes)],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule {}
【问题讨论】:
-
检查
Dashboard中wards的内容,可能没有填充 -
你是对的,我在错误的地方添加了病房的内容,而不是在 WardComponent 中添加病房数组,我把它放在了 AppComponent.thanks 中
标签: javascript angular angular2-routing router-outlet