角样计数器

时间:2018-11-18 11:37:47

标签: html angular typescript

我希望在Angular上进行点赞。如果有更多类似磁盘的内容,则正方形为绿色,反之亦然(请参见stackblitz链接)。

链接: enter link description here

我的代码似乎很不错,我使用consol.log和警报进行调试,但没有成功。

如果您可以帮助我,请给我建议并启发我,这将是一个很大的帮助。

预先感谢您, 瓦伦丁

1 个答案:

答案 0 :(得分:1)

连同代码链接,请尝试在问题本身中提供问题代码。

在代码中,如果您将result()方法修改为此,则会得到所需的输出:

result() {
  if (this.nbrLove > this.nbrDontLove) {
    return 'green';
  } else if (this.nbrLove < this.nbrDontLove) {
      return 'red';
  }
}

此外,也不需要从nbrL()nbrD()方法返回值。

@Ploppy在注释中提到,如果将一个变量绑定到模板,它将更加有效。

您可以通过在result()nbrL()中调用nbrD()并将背景样式与类变量绑定来实现:

export class AppComponent  {
nbrLove = 0;
nbrDontLove = 0;
bckColor = 'white'

nbrL() {
  this.nbrLove = this.nbrLove + 1;
  this.result()
}

nbrD() {
  this.nbrDontLove = this.nbrDontLove + 1;
  this.result();
}

result() {
  if (this.nbrLove > this.nbrDontLove) {
    this.bckColor = 'green';
  } else if (this.nbrLove < this.nbrDontLove) {
      this.bckColor = 'red';
  }
  else {
    this.bckColor = 'white';
  }
}

}

<div 
      [ngStyle]="{'width': '20px',
        'height': '20px',
        'background-color': bckColor}">

https://stackblitz.com/edit/angular-catcjl?file=src%2Fapp%2Fapp.component.html