如何从代码刷新ngIf方法调用

时间:2018-10-10 22:45:42

标签: angular angular5 angular-ng-if

我是我的angular 5组件的HTML文件,我已经将td附加到了<tr *ngFor="let ar of ars"> <td *ngIf="showCompleteButton(ar)"> 元素上:

showCompleteButton

我遇到的问题是.subscribe()访问的元素可能尚未从网络中加载。当我需要的网络元素加载后,如何告诉页面重新运行该检查,以便按钮开始出现?

我知道如何通过网络调用*ngIf在加载完成后采取行动,但我不知道该如何重新进行column-count调用。

1 个答案:

答案 0 :(得分:0)

是否可以在模板中使成员变量供您进行订阅工作?与ts中一样:

showCompleteButton = {};

yourApiCall.subscribe(ars => {
 this.ars = ars;
 ars.forEach(ar => {
   this.showCompleteButton[ar] = this.showCompleteButton(ar);
   //do not know what type ar is but you get the idea...
 });

和HTML:

<td *ngIf="showCompleteButton[ar]">

旁注:从模板调用函数对性能没有好处,它将在每个循环中反复调用。