Angular 在“ngFor”创建元素时调用方法
我需要循环中的元素宽度,如何调用从Angular 在“ngFor”创建元素时调用方法,angular,angular5,Angular,Angular5,我需要循环中的元素宽度,如何调用从ngFor循环创建元素的方法。我试过了,但没用。我正在尝试调用组件中的方法。不符合指令 以下是我的尝试: <ul class="cart-card"> <li *ngFor="let size of sizes" class="cart-card--content" [ngClass]="{'active': activeSize == size}" (click)="setServiceBySize(size)"
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>
- //不调用
{{appProps[sizeMap[size]['title']]}
{{appProps[sizeMap[size]['desc1']]}
您只需将函数调用部分移动到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>
-
{{loopMethod(size)}}
...
您只需将函数调用部分移动到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>
-
{{loopMethod(size)}}
...
工作正常。我是否可以有条件地调用此方法,如:{{loopMethod(size):activeSize==size}}
@3gwebtrain您可以使用条件表达式
,或者简单地使用ngIf
表达式进行函数调用。我是否可以有条件地调用此方法,如:{{loopMethod(size):activeSize==size}}
@3gwebtrain您可以使用条件表达式
,或者简单地使用ngIf
表达式进行函数调用。