我正在使用Angular应用中的按钮生成随机颜色。但这总是将值添加到color变量中,因此,第一次它会生成随机颜色,但之后总是向颜色中添加六个字母,这意味着它不再生成颜色。所以我必须重设颜色值,但是我应该在哪里重设颜色值?
letters = '0123456789ABCDEF';
color = '#';
getRandomColor(randomColor) {
for (var i = 0; i < 6; i++) {
this.color += this.letters[Math.floor(Math.random() * 16)];
}
}
<button (click)="getRandomColor()">Generate random color</button>
<p [ngStyle]="{color: color}">Random color</p>
{{color}}
答案 0 :(得分:3)
您需要先将field1 = forms.ModelChoiceField(queryset=Category.objects.all())
重置为this.color
,然后再添加更多的十六进制值。
#
答案 1 :(得分:1)
在循环之前,通过color ='#'重置color的值
答案 2 :(得分:1)
letters = '0123456789ABCDEF';
color = '#';
getRandomColor(randomColor) {
this.color = "#";
for (var i = 0; i < 6; i++) {
this.color += this.letters[Math.floor(Math.random() * 16)];
}
}
this.color =“#”;
答案 3 :(得分:0)
在循环上方,
getRandomColor(randomColor) {
this.color = '#';
for (var i = 0; i < 6; i++) {
this.color += this.letters[Math.floor(Math.random() * 16)];
}
}