我希望在Angular上进行点赞。如果有更多类似磁盘的内容,则正方形为绿色,反之亦然(请参见stackblitz链接)。
链接: enter link description here
我的代码似乎很不错,我使用consol.log和警报进行调试,但没有成功。
如果您可以帮助我,请给我建议并启发我,这将是一个很大的帮助。
预先感谢您, 瓦伦丁
答案 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