angular - 如何在组件角度4内单独刷新div
问题描述
我在一个组件中有一个 div,它是根据 Web API 的结果填充的(基本上是一个列表)。我有一个提交按钮,它通过 Web API 调用在列表中添加一个新元素。一旦我点击提交按钮元素被添加到数据库的列表中,但它没有显示在 div 中。我必须每次刷新页面才能获得数据。
一旦我点击提交按钮,是否有动态刷新 div。
在我的 html 中,我有
<div class="col-sm-3 pdl0 pr15" *ngFor="let item of IdList;let i=index;">
<a class="prevbtn" id="preview_{{i}}" (click)="Open(i)">{{item.Id}}</a>
</div>
在 ngInit 上的 ts 文件中,我从列表中的 Web API 调用中获取值,如下所示:
this.Service.GetRecords(this.EmpNum)
.catch(this.handleError)
.subscribe((res) => {
this.Service.IdList= res;
},
error => {
console.log(error)
});
单击提交按钮时,通过 web api 调用在数据库中添加一个新 ID,并在列表中更新并打开一个成功弹出窗口,如下所示:
let dialogRef = this.dialog.open(Alert, {
width: '30%',
data: { alertMessage: "Id" + res.Id+ " has been created" }
});
在弹出窗口中单击“确定”时,我希望刷新显示 Id 列表的 div,以便新添加的数据可见。
你能帮我实现这个目标吗?
解决方案
我有同样的要求,我使用ChangeDetectionStrategy.OnPush
. 这将在数据更新时自动刷新您的模板。你可以在这里阅读