应用默认样式和按钮的onClick更改样式-Angular 4

时间:2018-01-13 19:39:34

标签: css angular components

我有一个按钮,我想应用按钮的默认样式,当用户点击按钮时,将按钮样式颜色更改为红色,将背景颜色更改为白色。 Blow是我的.css和组件。

.btn-default {
  color: white;
  background-color: blue;

}

.btn-change {
  color: Red;
  background-color: white;
}

Component.ts

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  bntStyle: string;
  AppComponent() {

   this. bntStyle = 'btn-default';
  }
  submit() {
    this.bntStyle = 'btn-change';

  }

html的

<div>
 <button name="Save" [ngClass]="['bntStyle']" (onClick)="submit()">Submit</button>
</div>

3 个答案:

答案 0 :(得分:2)

你绑定了字符串'btnStyle'。相反,你应该绑定文件:

<div>
    <button name="Save" [ngClass]="[bntStyle]" (click)="submit()">Submit</button>
</div>

答案 1 :(得分:1)

火灾更改(<div> <button name="Save" [ngClass]="[bntStyle]" (click)="submit()">Submit</button> </div> )至(WM_COMMAND),然后使用以下代码段。

x

<强> DEMO

答案 2 :(得分:0)

我知道这对于解决方案来说太晚了,但这可能对其他人有所帮助。

.html

<button [ngClass]="[btnStyle]" (click)="submit()">Submit</button>

.css

.btn-default {
  color: white;
  background-color: blue;
}

.btn-change {
  color: Red;
  background-color: white;
} 

.ts
(if-else里面的submit函数是切换样式)

import { Component, VERSION } from '@angular/core';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})

export class AppComponent {
 
 btnStyle = 'btn-default';

  submit() {
    if(this.btnStyle == 'btn-change') {
      this.btnStyle = 'btn-default';
    } else {
      this.btnStyle = 'btn-change';
    }
  }
}