Angular 组件循环中的变量
Angular variable in component loops
在我更改我在循环中使用的组件的 class 内的 属性 的值后,它立即重置为原始值。
如果我在 *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
。
好吧,您遇到的问题是预期的行为,ngForOf
如果检测到更改并且提供的参考对象不相同,将重新生成视图。
尝试使用 trackBy
在我更改我在循环中使用的组件的 class 内的 属性 的值后,它立即重置为原始值。
如果我在 *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
。
好吧,您遇到的问题是预期的行为,ngForOf
如果检测到更改并且提供的参考对象不相同,将重新生成视图。
尝试使用 trackBy