首页 > 解决方案 > 如何在组件角度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,以便新添加的数据可见。

你能帮我实现这个目标吗?

标签: angular

解决方案


我有同样的要求,我使用ChangeDetectionStrategy.OnPush. 这将在数​​据更新时自动刷新您的模板。你可以在这里阅读


推荐阅读