【问题标题】:Angular 2: Push into array upon clicking an objectAngular 2:单击对象时推入数组
【发布时间】:2017-08-31 08:14:07
【问题描述】:

当我单击一行对象时,我希望将其推入selectedProducts 数组。

我的打字稿里有这个

selectedProducts: Product[] = [];

select(prod) {
    this.selectedProducts.push(prod);
    console.log(this.selectedProducts);   
}

但它只获取我在用户侧单击的第一个对象

下面是我的 HTML

<div class="list-content fluid">
    <div class="products-cards" *ngFor="let product of dataSource['docs']">
        <app-product-card [product]="product" (click)="select(product)"></app-product-card>
    </div>
</div>

【问题讨论】:

  • 你实现了 *ngFor 吗?你能把那部分贴出来吗?另外,“第一个对象”是指“产品”?
  • 这实际上是一张卡片。 ngFor 在另一个组件中。 @维加
  • 所以我认为 selectedProducts 必须在父组件中,不是吗?
  • 所以你点击了不止一次,但你一直都有第一个产品?
  • @Char 你能和我们一起查一下父子组件代码吗?

标签: arrays angular events mouseevent push


【解决方案1】:

我建议试试这个:

<div class="list-content fluid">
    <div class="products-cards" *ngFor="let product of dataSource['docs']"  (click)="select(product)">
        <app-product-card [product]="product"></app-product-card>
    </div>
</div>

【讨论】:

    猜你喜欢
    • 2017-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-09
    • 2017-05-25
    • 2019-05-07
    • 2017-12-05
    相关资源
    最近更新 更多