Javascript 离子2电子商务动态计算金额

Javascript 离子2电子商务动态计算金额,javascript,angular,ionic-framework,ionic2,ionic3,Javascript,Angular,Ionic Framework,Ionic2,Ionic3,我正在开发电子商务应用程序 我需要动态计算数量 这是我的Html代码 我在数组中有Cartproducts值。并使用*ngfor显示产品列表 <div class="cart" > <div> <ion-row class="product-in-cart" padding *ngFor="let p of Cartproducts;let i=index"> <ion-col c

我正在开发电子商务应用程序

我需要动态计算数量

这是我的Html代码

我在数组中有Cartproducts值。并使用*ngfor显示产品列表

<div class="cart" >

        <div>
            <ion-row class="product-in-cart" padding *ngFor="let p of Cartproducts;let i=index">
                <ion-col col-4 class="pic-blk">
                    <img class="pic-image" src="{{p.P_IMAGES[0].URL}}" alt="product2">

                    <ion-row>
                        <ion-col col-4 class="minus">
                            <button ion-button outline small><ion-icon name="remove" (click)="countOperator(-1,p,i)"></ion-icon></button>
                        </ion-col>

                        <ion-col col-4 class="label">
                            <ion-label text-center *ngIf="Pid != p.C_ID || count <= 1">1</ion-label>
                            <ion-label text-center *ngIf="Pid == p.C_ID && count > 1">{{count}}</ion-label>
                        </ion-col>

                         <ion-col col-4 class="plus">
                            <button ion-button outline small><ion-icon name="add" (click)="countOperator(1,p,i)"></ion-icon></button>
                        </ion-col>
                    </ion-row>  
                </ion-col>
                <ion-col col-8 class="pic-details">
                    <h1>{{p.P_TITLE}}</h1>
                    <p class="subtitle">Subtitle</p>
                    <p class="code">Code: 123</p>

                    <ion-row class="price-blk"> 
                        <ion-col width-50 class="product-per-price"><img src="./assets/images/rupee-black.svg" alt="Rupee" >{{p.PRICE_SALE}} <em>/ Unit</em></ion-col>

                        <ion-col width-50 text-right class="product-full-price" ><img src="./assets/images/rupee-black.svg" alt="Rupee" *ngIf="Price == i">{{count * p.PRICE_SALE}}</ion-col>
                    </ion-row>

                    <div class="cancel">
                        <button (click)="cancel(i)">Cancel X</button>
                    </div>
                </ion-col>  
            </ion-row>
        </div>

        <div padding class="apply-coupon-blk">  
            <p class="blk-text-title">Apply Coupon</p>

            <ion-row class="apply-coupon">
                <ion-col col-8>
                    <ion-input type="text" placeholder="Type coupon code"></ion-input>
                </ion-col>
                <ion-col col-4>
                    <button ion-button block class="apply-btn">Apply</button>
                </ion-col>
            </ion-row>
        </div>

        <div padding class="price-summary-blk">
            <p class="blk-text-title">Price Details</p>

            <ion-row>
                <ion-col>Sub Total</ion-col>
                <ion-col text-right><img src="./assets/images/rupee-black.svg" alt="Rupee">4000</ion-col>
            </ion-row>

            <ion-row>
                <ion-col>Estimated Tax(%)</ion-col>
                <ion-col text-right><img src="./assets/images/rupee-black.svg" alt="Rupee">200</ion-col>
            </ion-row>

            <ion-row padding-top class="total">
                <ion-col>Total</ion-col>
                <ion-col text-right><img src="./assets/images/rupee-black.svg" alt="Rupee">4200</ion-col>
            </ion-row>
        </div>
    </div>
这是我的购物车产品阵列

 [
  {
    "P_ID": 1,
    "C_ID": 1,
    "SKU": 0,
    "P_TITLE": "Martina",
    "P_TYPE": "simple",
    "P_DESCRIPTION": "Commodo adipisicing officia non excepteur officia nostrud. Eu voluptate amet elit nulla.",
    "P_STOCK": 100,
    "PRICE_REGULAR": 194,
    "PRICE_SALE": 161,
    "P_ATTR": [
      {}
    ],
    "P_IMAGES": [
      {
        "URL": "https://firebasestorage.googleapis.com/v0/b/test-46a7f.appspot.com/o/sparkler.svg?alt=media&token=5fde41cc-2c6c-4dcc-9749-59dda751206b"
      },
      {
        "URL": "https://firebasestorage.googleapis.com/v0/b/test-46a7f.appspot.com/o/sparkler.svg?alt=media&token=5fde41cc-2c6c-4dcc-9749-59dda751206b"
      }
    ],
    "P_STATUS": "Active",
    "id": "595f3e418c4d19b50ac21b84"
  },
  {
    "P_ID": 2,
    "C_ID": 1,
    "SKU": 1,
    "P_TITLE": "Kristen",
    "P_TYPE": "simple",
    "P_DESCRIPTION": "Laborum cupidatat dolor tempor cillum incididunt in veniam nisi dolore.",
    "P_STOCK": 100,
    "PRICE_REGULAR": 130,
    "PRICE_SALE": 174,
    "P_ATTR": [
      {}
    ],
    "P_IMAGES": [
      {
        "URL": "https://firebasestorage.googleapis.com/v0/b/test-46a7f.appspot.com/o/sparklers-brothers-18-inch-large-gold-sparklers-pack-of-10-1_large.jpeg?alt=media&token=28b1be61-f346-4801-8300-9f0a86a5942f"
      },
      {
        "URL": "https://firebasestorage.googleapis.com/v0/b/test-46a7f.appspot.com/o/sparklers-brothers-18-inch-large-gold-sparklers-pack-of-10-1_large.jpeg?alt=media&token=28b1be61-f346-4801-8300-9f0a86a5942f"
      }
    ],
    "P_STATUS": "Active",
    "id": "595f3e418c4d19b50ac21b85"
  },
  {
    "P_ID": 3,
    "C_ID": 1,
    "SKU": 2,
    "P_TITLE": "Jayne",
    "P_TYPE": "simple",
    "P_DESCRIPTION": "Anim ad et sunt aliquip proident fugiat deserunt.",
    "P_STOCK": 100,
    "PRICE_REGULAR": 215,
    "PRICE_SALE": 184,
    "P_ATTR": [
      {}
    ],
    "P_IMAGES": [
      {
        "URL": "https://firebasestorage.googleapis.com/v0/b/test-46a7f.appspot.com/o/Sparklers2502502.jpg?alt=media&token=979a1c5f-4e5c-4dbf-8d8a-e2358b6e1001"
      },
      {
        "URL": "https://firebasestorage.googleapis.com/v0/b/test-46a7f.appspot.com/o/Sparklers2502502.jpg?alt=media&token=979a1c5f-4e5c-4dbf-8d8a-e2358b6e1001"
      }
    ],
    "P_STATUS": "Active",
    "id": "595f3e428c4d19b50ac21b86"
  }
]
我不知道

请给我提个建议


谢谢

以下是实现此目标的步骤:

在Cartproducts数组中添加计数属性。 更新您产品中所选产品的“计数”属性 countOperator函数。 将{{count*p.PRICE\u SALE}}替换为{{p.count*p.PRICE\u SALE}}
希望这会有所帮助。

您对所有产品使用的是单个计数变量吗?如果是的话,那就糟糕了,你需要管理每种产品的数量。普朗克会有帮助的。谢谢你的回复。我不知道。是的,我对每个产品都使用单一计数。我如何解决此问题?你能在这里粘贴你的Cartproducts数组吗?如果你能在这里共享组件和模板代码或plunker.@FahadNisar,我可以修复代码。请检查我更新我的问题并添加Cartproducts数组。谢谢你的回答。我有一个疑问。如何在中更新计数属性Cartproducts数组。您正在函数中将对象作为p传递。因此,您可以访问count变量,如p.count,并可以根据需要增减。p、 计数=p.count+1;或p.count=p.count-1;仅当您首先为阵列中的每个产品添加计数属性时,此操作才有效。请尝试此操作,并告知我是否有效。如果有效,您可以将我的答案标记为已接受:u在吗?我遵循了此步骤。但没有更新UI中的计数值。为什么?但我更新了数组中的计数值。等等。让我为你创造一个普朗克。
 [
  {
    "P_ID": 1,
    "C_ID": 1,
    "SKU": 0,
    "P_TITLE": "Martina",
    "P_TYPE": "simple",
    "P_DESCRIPTION": "Commodo adipisicing officia non excepteur officia nostrud. Eu voluptate amet elit nulla.",
    "P_STOCK": 100,
    "PRICE_REGULAR": 194,
    "PRICE_SALE": 161,
    "P_ATTR": [
      {}
    ],
    "P_IMAGES": [
      {
        "URL": "https://firebasestorage.googleapis.com/v0/b/test-46a7f.appspot.com/o/sparkler.svg?alt=media&token=5fde41cc-2c6c-4dcc-9749-59dda751206b"
      },
      {
        "URL": "https://firebasestorage.googleapis.com/v0/b/test-46a7f.appspot.com/o/sparkler.svg?alt=media&token=5fde41cc-2c6c-4dcc-9749-59dda751206b"
      }
    ],
    "P_STATUS": "Active",
    "id": "595f3e418c4d19b50ac21b84"
  },
  {
    "P_ID": 2,
    "C_ID": 1,
    "SKU": 1,
    "P_TITLE": "Kristen",
    "P_TYPE": "simple",
    "P_DESCRIPTION": "Laborum cupidatat dolor tempor cillum incididunt in veniam nisi dolore.",
    "P_STOCK": 100,
    "PRICE_REGULAR": 130,
    "PRICE_SALE": 174,
    "P_ATTR": [
      {}
    ],
    "P_IMAGES": [
      {
        "URL": "https://firebasestorage.googleapis.com/v0/b/test-46a7f.appspot.com/o/sparklers-brothers-18-inch-large-gold-sparklers-pack-of-10-1_large.jpeg?alt=media&token=28b1be61-f346-4801-8300-9f0a86a5942f"
      },
      {
        "URL": "https://firebasestorage.googleapis.com/v0/b/test-46a7f.appspot.com/o/sparklers-brothers-18-inch-large-gold-sparklers-pack-of-10-1_large.jpeg?alt=media&token=28b1be61-f346-4801-8300-9f0a86a5942f"
      }
    ],
    "P_STATUS": "Active",
    "id": "595f3e418c4d19b50ac21b85"
  },
  {
    "P_ID": 3,
    "C_ID": 1,
    "SKU": 2,
    "P_TITLE": "Jayne",
    "P_TYPE": "simple",
    "P_DESCRIPTION": "Anim ad et sunt aliquip proident fugiat deserunt.",
    "P_STOCK": 100,
    "PRICE_REGULAR": 215,
    "PRICE_SALE": 184,
    "P_ATTR": [
      {}
    ],
    "P_IMAGES": [
      {
        "URL": "https://firebasestorage.googleapis.com/v0/b/test-46a7f.appspot.com/o/Sparklers2502502.jpg?alt=media&token=979a1c5f-4e5c-4dbf-8d8a-e2358b6e1001"
      },
      {
        "URL": "https://firebasestorage.googleapis.com/v0/b/test-46a7f.appspot.com/o/Sparklers2502502.jpg?alt=media&token=979a1c5f-4e5c-4dbf-8d8a-e2358b6e1001"
      }
    ],
    "P_STATUS": "Active",
    "id": "595f3e428c4d19b50ac21b86"
  }
]