我想通过单击按钮图标来重新加载组件视图,而不刷新整个页面。
我的查看代码:
<nb-card>
<nb-card-header>
<div class="row" style="font-size: 2.125rem !important;">
<div class="col-sm-8">
Tableau des Casiers
</div>
<div class="col-sm-4 d-flex justify-content-end">
<nb-action icon="ion-refresh sizeicone" (click)="refresh()"></nb-action>
</div>
</div>
</nb-card-header>
<nb-card-body>
<ng2-smart-table [settings]="settings" (custom)="onCustom($event)" [source]="source"
(deleteConfirm)="onDeleteConfirm($event)" (editConfirm)="onSaveConfirm($event)"
(createConfirm)="onCreateConfirm($event)">
</ng2-smart-table>
</nb-card-body>
</nb-card>
答案 0 :(得分:2)
在angular中,您不需要刷新组件-angular会在检测到模板更改使用的变量时自动刷新页面内容。因此,在refresch()
方法中,只需更新变量值即可。但是,如果您真的想手动执行此操作,则可以使用以下构造:
模板:
<my-component *ngIf="showComponent"></my-component>
ts文件:
public refresh() {
this.showComponent=false;
setTimeout(x=>this.showComponent=true);
}