Угловая переменная в компонентных циклах

#angular #loops #variables #ngfor

#угловая #циклы #переменные #ngfor

Вопрос:

Сразу после того, как я изменяю значение свойства внутри класса компонента, который я использую в цикле, оно сбрасывается до исходного значения. Этого не произойдет, если я использую компонент отдельно, вне любого *ngFor .

Например, у меня есть следующий компонент:

 export class CartProductComponent implements OnInit {
  loading = false;
    
  ...

  changeQuantity(change: number) {
    this.loading = true;
    ...
  }
}

 

это используется следующим образом:

 <app-cart-product *ngFor="let product of products" [product]="product"></app-cart-product>
 

Сразу после changeQuantity вызова значение сбрасывается на false .

Комментарии:

1. Спасибо за быстрый ответ, но это было исправлено, выполнив рекомендации Димы С.

Ответ №1:

Что ж, проблема, с которой вы столкнулись, — это ожидаемое поведение, ngForOf которое восстановит представление, если оно обнаружит изменения, а ссылочный объект, с которым оно поставляется, не совпадает. Попробуйте использовать trackBy

Комментарии:

1. Спасибо. На самом деле это было то, что я искал, что-то вроде Vue v-bind:key , но я не знал его эквивалента в Angular.