我想在路由器插座内设置一些默认文本,直到它被填充.
我有一个父组件,将在该页面上的路由器插座中显示子路由组件.
单击时,有2个按钮将使用子组件填充路由器插座.如何将内容放置在路由器插座内部,例如."单击选项以显示数据",然后单击该按钮后此消息将清除,子组件将显示在路由器插座中?
<div class="container pt-3">
<div class="clearfix">
<div class="btn btn-outline-success float-left"
routerLink="/unpaid/people">
View People
</div>
<div class="btn btn-outline-success float-right"
routerLink="/unpaid/bills">
View Bills
</div>
</div>
</div>
<router-outlet>Click an options to display the data</router-outlet>
Run Code Online (Sandbox Code Playgroud)
编辑这里是我的路线
path: 'unpaid', component: UnpaidBillsComponent,
children: [
{path: 'people', component: UnpaidPeopleComponent},
{path: 'bills', component: UnpaidBillListComponent}
]
Run Code Online (Sandbox Code Playgroud)
Laz*_*vić 11
路由器插座内的默认文本,直到填充完毕
首先,你的假设是错误的,内容不是插在插座内,而是插在插座下面.
您无法在模板中设置默认内容,但可以设置包含默认内容的默认路由.只需使用path: ''
并使用component
"默认"模板即可.
使用您需要的"默认"模板创建组件:
@Component({template: `Default template here`})
export class DefaultTemplateComponent {}
Run Code Online (Sandbox Code Playgroud)
并将其添加到您的路线.
children: [
{path: '', component: DefaultTemplateComponent},
{path: 'people', component: UnpaidPeopleComponent},
{path: 'bills', component: UnpaidBillListComponent},
]
Run Code Online (Sandbox Code Playgroud)
小智 8
在模板中:
<p *ngIf="showDefaultMessage">Click an options to display the data</p>
<router-outlet (activate)="toggleDefaultMessage(false)" (deactivate)="toggleDefaultMessage(true)"></router-outlet>
Run Code Online (Sandbox Code Playgroud)
然后在组件中只需切换“showDefaultMessage”属性:
private showDefaultMessage = true; // default state
toggleDefaultMessage(state: boolean) {
this.showDefaultMessage = state;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8069 次 |
最近记录: |