在离子3中动态改变背景颜色

时间:2017-11-03 23:03:16

标签: angular typescript ionic-framework sass ionic3

您好我想知道如何使用按钮更改背景颜色并尝试了这一点而没有任何积极的结果:

我尝试做的是用按钮改变背景颜色,例如从白色到红色

我尝试这种方式但不起作用

HTML:

<ion-header>
    <ion-navbar>
        <ion-title>
            Ionic Blank
        </ion-title>
    </ion-navbar>
</ion-header>

<ion-content padding [ngClass]="{ classname:false }">
    The world is your oyster.
    <p>
        If you get lost, the <a href="http://ionicframework.com/docs/v2">docs</a> will be your guide.
    </p>

    <ion-buttons (click)="color()">
        <button>
        Hola
      </button>
    </ion-buttons>
</ion-content>

TS

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  classname = false;
  constructor(public navCtrl: NavController) {

  }

  color() {
    console.log('Hola');
    this.classname = true;
  }

}

我的SCSS。

page-home {
    .classname {
        Background: red;
    }
}

1 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

这是工作stackblitz

.TS

  isChanged: boolean = false;
  constructor(public navCtrl: NavController) {
  }

 color() {
   this.isChanged = true;
 }

.scss

.classname{
  background-color: red;
}

html的

<ion-content padding [ngClass]="{'classname': isChanged }">
    <h2>Welcome to Ionic!</h2>
    <button ion-button color="secondary" (click)="color()">Dynamic Color</button>
</ion-content>