在Angular应用中使用按钮生成随机颜色

时间:2018-08-23 11:27:49

标签: javascript css angular

我正在使用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}}

4 个答案:

答案 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)];
          }
        }