【问题标题】:Increasing the amount of product in the cart增加购物车中的产品数量
【发布时间】:2017-08-30 21:40:34
【问题描述】:

将产品添加到购物车后,我难以提高产品数量。我现在一步一步告诉你。

1- 我列出我的产品。

2- 我正在创建数量缩写函数(miktarKisalt)

3- 如果产品可以称重,我会简化分数。

4- 然后我创建执行递增和递减操作的函数。 (miktarArttir, miktarAzalt)

5-更新商品数量后,重新加载购物车列表并显示新的产品数量

我想要的是这个:

如果您按下加号和减号按钮而无需加载购物车列表并且新编号和当前产品数量会更新

我该怎么做?

            <div class="count-input space-bottom">
                            <a class="incr-btn" (tap)="miktarAzalt(list.ID, list.MIKTAR, list.FIYAT, list.TUTAR, list.TARTILI) ">–</a>
                            <input class="quantity" readonly type="text" [(ngModel)]="MIKTARMODEL[i]" [value]="miktarAtamaFunc((list.TARTILI == 'E' ? miktarKisalt(list.MIKTAR) : list.MIKTAR),i)" name="quantity" />
                            <a class="incr-btn"  (tap)="miktarArttir(list.ID, list.MIKTAR, list.FIYAT, list.TUTAR, list.TARTILI, i)">+</a>
       </div>

MiktarKisalt 函数

MIKTARMODEL : Array<number> = [];

   
miktarAtamaFunc(MIKTAR, INDEX){
 this.MIKTARMODEL[INDEX]= MIKTAR;

}
miktarKisalt(MIKTAR){
        var miktar = Number(MIKTAR);
        return miktar.toFixed(1);
      }

miktarArttir 函数

 miktarArttir(ID, MIKTAR, FIYAT, TUTAR, TARTILI){

      let header = new Headers();
      header.append("Content-Type","application/json");
      header.append("Accept","application/json");
      
      var arttirici=1;
      if(TARTILI == "E"){
        MIKTAR = parseFloat(MIKTAR);
        arttirici = 0.1;
      }

      MIKTAR += arttirici;
     this.MIKTARMODEL[INDEX] += arttirici;
     
     var siparisDetayUpdate = "http://sitename.com/function";
     var siparisDetayVeri = JSON.stringify({
       DETAYID : ID,
       MIKTAR : MIKTAR,
       ACIKLAMA : 0
     });

     this.http.post(siparisDetayUpdate,siparisDetayVeri,header).map(res=>res.json()).subscribe(data=>{
       
         this.sepetListesi(); // RELOAD CART LIST

     }, (error)=>{
       this.miktarArttir(ID, MIKTAR, FIYAT, TUTAR, TARTILI);
     });
    
    }

【问题讨论】:

  • 您的代码有什么问题,您可以制作 1 个 plnkr 文件而不是单独的代码吗?
  • 我想更新数量而无需更新列表@WasifKhan
  • 你知道 Angular 中的数据绑定吗? ngModel 将用于您的情况。
  • 你是一个例子吗? @WasifKhan
  • 我在答案中添加了示例,请查看

标签: angular typescript


【解决方案1】:

要在不加载的情况下更新列表,请使用 ngModel。

我已经为你做了 plnkr 的例子。

<input type="text" [(ngModel)]="list">

https://plnkr.co/edit/t6jEbCFY1ONH27PYQwz1?p=preview

【讨论】:

    【解决方案2】:

    实现这一点的方法是嵌套一个 Div 标签,有一个 flag 变量,并且每当 inc 或 dec按下按钮 调用函数并将布尔变量更改为TRUE,然后值将反映。

    【讨论】:

    • 我做这样的事情;我将所有返回值保存在一个数组中。
    • MIKTARMODEL : 数组 = [];之后,[(ngModel)]="MIKTARMODEL[i]" [value]="miktarAtamaFunc((list.TARTILI == 'E' ? miktarKisalt(list.MIKTAR) : list.MIKTAR),i)"
    • 我在增加按钮中这样做:this.MIKTARMODEL[INDEX]++;
    • 我希望你确保你在 .ts 中有一个警报,以检查值是否得到更新?
    • 尽管它有权重,但你只需计算函数中的值,并且该值必须显示在输入中。
    猜你喜欢
    • 2016-02-28
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 2015-06-01
    • 1970-01-01
    相关资源
    最近更新 更多