【发布时间】:2020-02-01 14:23:38
【问题描述】:
每次我的 ngFor 完成从我的 API 加载数据时,我都会尝试调用一个函数。
但回调仅在首次加载 ngFor 时触发。
如何在每次更改我的 ngFor 时执行回调;
我使用了这个答案:https://stackoverflow.com/a/38214091/6647448
这是我目前所拥有的......
HTML
<button class="btn" (click)="changeDate()"></button>
<div *ngFor="item of items; let last = last">
<div>{{item}}{{last ? ngForAfterInit() : ''}}</div>
</div>
TS
this.ngForIsFinished = true;
ngForAfterInit() {
if (this.ngForIsFinished) {
this.ngForIsFinished = false;
}
}
changeDate() {
// this is where i trigger my ngFor to change its content
}
回答的人说您只需将ngForIsFinished 设置回true,但我很难在我的代码中设置它。
【问题讨论】:
-
您的用例到底是什么?通过知道
ngFor何时重新呈现,您希望实现什么目标? -
如果 ngFor 被重新渲染,回调函数
ngForAfterInit将被执行 -
显示完整
changeDate() -
@AdritaSharma 我的 API 上的 changeDate() 请求以获取要显示的数据
-
@AdritaSharma
changeDate()是在我的 API 上发出另一个请求并显示在我的 ngFor 上的函数。
标签: javascript angular ngfor