Javascript 如何动态生成不同的角度变量?

Javascript 如何动态生成不同的角度变量?,javascript,arrays,angular,multidimensional-array,dynamic,Javascript,Arrays,Angular,Multidimensional Array,Dynamic,我选择了两个复选框,第一部分中的索赔总额正在计算中,第二部分中的索赔总额也在计算中。我知道的原因;因为div是使用数组创建的,我有一个公共变量。现在的问题是如何创建动态变量 在下面的代码中,您将找到{{声明的},它是公共变量,我需要它是动态的: <p>Total Claimed: [<span [ngClass]="{'text-success': claimed <= d.program_max_limit, 'text-warning': claimed >

我选择了两个复选框,第一部分中的索赔总额正在计算中,第二部分中的索赔总额也在计算中。我知道的原因;因为div是使用数组创建的,我有一个公共变量。现在的问题是如何创建动态变量

在下面的代码中,您将找到{{声明的},它是公共变量,我需要它是动态的:

<p>Total Claimed: [<span [ngClass]="{'text-success': claimed <= d.program_max_limit, 'text-warning': claimed > d.program_max_limit}">{{claimed | number : '2.'}}&nbsp;</span> Of {{d.program_max_limit | number : '2.'}}]</p>

定义布尔值的变量类型数组并在表中使用

check:boolean[]=[]; //<--see that you equal to an array
在你的.html文件中

Total:{{total}}
<div *ngIf="total>max_ammount">You has execeded tha ammout!</div>
Total:{{Total}
你已经杀了阿穆特!
注意:如果你不想使用getter,你可以使用

<td><input type="checkbox" [ngModel]="check[i]"
                           (ngModelChange)="check[i]=$event;getTotal()">
</td>

getTotal()  //<--your function getTotal
{
       let total=0;
       this.listItems.forEach((x,index)=>{
         if (check[index])
             total+=x.invoiceAmmount;
       })
       this.total=total //<--store the total in a variable "total"
}

getTotal()//{
如果(选中[索引])
合计+=x.InvoiceAmount;
})

谢谢你的回答。我已经应用了它,但是如果用户选中[0],它将同时在两个框中被选中。第一行是选中[0],第二行是选中[1],第三行是选中[2],请参见使用
;让i=index
[ngModel]=“check[i]”
我同意,但没有第三个复选框,等等,我将向您显示我的模式。我会编辑我的答案当然,你有这么多的“检查”,因为行数有你的表格。我编辑了答案,谢谢你的努力。我真的很感激这件事还没有解决?@GouravGarg没有。答案是由Eliseo给出的,但无论如何,thanx
get total()
{
   let total=0;
   this.listItems.forEach((x,index)=>{
     if (check[index])
         total+=x.invoiceAmmount;
   })
   return total;
}
Total:{{total}}
<div *ngIf="total>max_ammount">You has execeded tha ammout!</div>
<td><input type="checkbox" [ngModel]="check[i]"
                           (ngModelChange)="check[i]=$event;getTotal()">
</td>

getTotal()  //<--your function getTotal
{
       let total=0;
       this.listItems.forEach((x,index)=>{
         if (check[index])
             total+=x.invoiceAmmount;
       })
       this.total=total //<--store the total in a variable "total"
}