离子中物品价格的总和

时间:2017-06-20 06:40:09

标签: angular typescript ionic-framework

这些项目保存在firebase db上。我正在使用* ngFor并需要将itemPrices(使其成为账单价值)总和

`

this.angFire.list('/Items').subscribe((items) => {
      this.priceTotal = 0;
      this.items.forEach((item) => {
        this.priceTotal += this.itemPrice;
        return this.priceTotal;
      })
    })

`

我尝试用item.itemPrice替换this.item,但它显示了FirebaseListObservable错误:

Property 'itemPrice' does not exist on type 'number[]'

2 个答案:

答案 0 :(得分:2)

我对您尝试添加到this.priceTotal的内容感到困惑,因为this.itemPrice从未明确定义过......我猜你是&#39} ;只是试图将项目的价格加起来并将总和分配给this.priceTotal。这应该可以做到这一点。

this.angFire.list('/Items').subscribe((items) => {
    this.priceTotal = 0;
    this.priceTotal = items.reduce((total, item) => {
        return total + Number(item.itemPrice);
    })
})

PS,没有this.items,除非您在其他地方定义它,items的块作用域为subscribe函数。因此,如果我们按照您编写的方式保留它,它应该看起来像......

this.angFire.list('/Items').subscribe((items) => {
    this.priceTotal = 0;
    items.forEach((item) => {
        this.priceTotal += Number(item.itemPrice);
    })
})

答案 1 :(得分:0)

试试这个

AccountTab.NavigateToCQPNode = function (accountID, nodeID, policyNumber) 
 {
    window.location = "CQP?polnum=" + policyNumber.replace(/^\s+|\s+$/g, "") 
    + "&userid=" + StpMain.userId;
    AccountTab.NavigateToTabNode(accountID, nodeID);    
 };