在`ngFor`创建元素时调用方法

时间:2018-06-05 01:56:29

标签: angular angular5

我需要循环中的元素宽度,如何在ngFor循环创建元素时调用方法。我试过这不行。我试图在我的组件中调用一个方法。不在指令中。

这是我的尝试:

<ul class="cart-card">
    <li *ngFor="let size of sizes" class="cart-card--content" 
    [ngClass]="{'active': activeSize == size}"
    (click)="setServiceBySize(size)"
    (onCreate)="loopMethod(size)">//not calls
      <div class="cc-content-desc">{{appProps[sizeMap[size]['title']]}}</div>
      <div class="cc-content-image-xs" [ngClass]="'icon' + size" ></div>
      <div class="cc-content-desc1">{{appProps[sizeMap[size]['desc1']]}}</div>
    </li>
  </ul>

1 个答案:

答案 0 :(得分:2)

您只需将函数调用部分移动到li

的内容中即可
<ul class="cart-card">
  <li *ngFor="let size of sizes" class="cart-card--content" 
    [ngClass]="{'active': activeSize == size}"
    (click)="setServiceBySize(size)">

    {{ loopMethod(size) }} 
    ...
  </li>
</ul>