大家好! 在Angular 2中,* ng爲每次迭代創建一個新的上下文?像ng-repeat在角js?中。我需要在* ngFor中更改一個變量值,但是所有迭代的值都會改變。例如:Angular 2,ngFor爲每次迭代創建一個新的上下文?
<div *ngFor="let label of labels">
<div class="company"><a (click)="isCollapsed = !isCollapsed;isCollapsed ? labelStyle = {color: 'gray'}:labelStyle = {color: '#337ab7'}" [ngStyle]="labelStyle">{{label}}</a>
</div>
<div [ngbCollapse]="isCollapsed">
<div class="item" *ngFor="let product of products">
<div class="meta" *ngIf="product.year == label">
<div class="details">
<div [innerHTML]=product.reference></div>
</div>
</div>
</div>
</div>
</div>
當我點擊的標籤上,isCollapsed變化,從虛假到真實的,但isCollpsed所有迭代變化。你可以給我一個建議,做點擊和摺疊只有一個標籤?
謝謝
我認爲必須有一種方法來唯一標識哪個div要摺疊。如果標籤始終是唯一的,可以使用'isCollapsed + label'。 – Tamas
'label'和'product'在每個上下文中都有變化,但是來自外部的值(如果您訪問組件類中的成員,則每個上下文的值相同。 –