angular2 / javascript中的动态变量

时间:2017-04-22 11:35:00

标签: javascript angular

我在页面上有多个下载按钮,每个下载都有一个进度条:

<progress-bar *ngIf="progressbar" [progress]="loadProgress_id1"></progress-bar>
<progress-bar *ngIf="progressbar" [progress]="loadProgress_id2"></progress-bar>

...

我有一个设定进度的功能:

setpercentage(perc,id) {
    this.loadProgress_+id = Math.round(perc); // --> how could I do this?
    this.ref.detectChanges();
}

我尝试过的(上面的)不起作用。我怎么能实现这个目标?或者我应该使用不同的方法吗?

2 个答案:

答案 0 :(得分:1)

试试这个

setpercentage(perc,id) {
    this['loadProgress_' + id] = ....
}

setpercentage(perc,id) {
    const prop = 'loadProgress_' + id;
    this[prop] = ...
}

答案 1 :(得分:1)

阵列是否有任何理由不适用于此?

// Html

<progress-bar 
  *ngFor="let progress of progressBars" 
  [progress]="progress"
></progress-bar>

// Ts

progressBars: number[] = [0,0];

setpercentage(perc,id) {
  this.progressBars[id] = Math.round(perc);
  this.ref.detectChanges();
}