Html 单击按钮后,如何将按钮颜色更改为红色(原色更改为红色)?

Html 单击按钮后,如何将按钮颜色更改为红色(原色更改为红色)?,html,css,angular,angular6,Html,Css,Angular,Angular6,.myClass{ 颜色:红色; }isClicked属性应该是数据对象的一部分。可以使用ngClass属性将动态类添加到DOM中 .myClass{ color : red !important; } <tr*ngFor="let data of database "> <td>{{data.name}}</td> <td>{{data.id}}</td> <td> <button mat-icon-bu

.myClass{
颜色:红色;

}
isClicked属性应该是数据对象的一部分。可以使用ngClass属性将动态类添加到DOM中

.myClass{
   color : red !important;
}

<tr*ngFor="let data of database ">
<td>{{data.name}}</td>
<td>{{data.id}}</td>
<td>
  <button mat-icon-button color="primary" (click)="data.isClicked = !data.isClicked"  [ngClass]="{'myClass': data.isClicked}">
 <mat-icon>remove_circle</mat-icon>
    </button>
  </td>
  <tr>
.myClass{
颜色:红色!重要;
}
{{data.name}
{{data.id}
去掉你的圆圈

不应将字段isClicked声明为布尔类型,而应将其声明为对象isClicked={}。这应该根据data.id为每行设置

 <tr *ngFor="let data of database ">
    <td>{{data.name}}</td>
    <td>{{data.id}}</td>
    <td>
      <button mat-icon-button color="primary" (click)="isClicked[data.id] = !isClicked[data.id]"  [class.myClass]="isClicked[data.id]">
     <mat-icon>remove_circle</mat-icon>
        </button>
      </td>
</tr>

{{data.name}
{{data.id}
去掉你的圆圈

您需要将isClicked设置为组件类中的数组: isClicked:Array=[]

并在模板中声明一个变量i

<tr *ngFor="let data of database, let i = index ">
<td>{{data.name}}</td>
<td>{{data.id}}</td>
<td>
    <button mat-icon-button color="primary" (click)="isClicked[i] = !isClicked[i]" 
      [class.myClass]="isClicked[i]">test
    </button>
</td>

{{data.name}
{{data.id}
测试

试试这个红色按钮

<button class="btn btn-danger"></button> or
<button class="btn btn-outline-danger"></button>

行中有多少个按钮?实际上我是从Api中获取数据的,我调用了表中Api的前两列,下一列有maticon按钮,我通常在没有Api的情况下调用,现在这些列也将根据Api打印,这意味着有多少行(我指Api中有多少数据)这些铰孔柱也是这样打印的。在API中,我有25行数据,您必须对所使用的类更加具体,或者使用一个指令(但您必须在该指令中定义样式,而不是在css文件中定义样式)否我无法将数据添加到isclicked,因为数据来自我正常提供的API和按钮。是否希望所有数据项或特定行的单击状态?。对于每一行,您需要使用forEach循环将isClicked属性添加到API数据响应中。我希望单击行中单个按钮的状态,但即使我单击行中的一个按钮,它也会更改行中所有按钮的颜色感谢@suresh我根据您的回答有了一些想法,并且工作正常。