代码之家  ›  专栏  ›  技术社区  ›  Gargoyle

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

  •  0
  • Gargoyle  · 技术社区  · 6 年前

    我是angular 5组件的HTML文件 *ngIf td

    <tr *ngFor="let ar of ars">
        <td *ngIf="showCompleteButton(ar)">
    

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

    .subscribe() 从网络调用到加载完成后执行操作,我只是不知道如何做到这一点 *ngIf公司

    1 回复  |  直到 6 年前
        1
  •  0
  •   PeS    6 年前

    在subscribe中填写的模板中生成成员变量对您有用吗?如在 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]">
    

    旁注:从模板调用函数对性能不好,每个周期都会反复调用。