2017-04-18 4 views
1

Wie ändert man Hintergrundfarbe in Hex dynamisch in Angular?Wie ändert man die Hintergrundfarbe in Hex dynamisch in Angular2?

Dezimalwert Hexadezimalwert in Angular Umwandlung dynamisch Hintergrundfarbe zu ändern

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

    @Component({ 
     selector: 'my-app', 
     template: ` 

     <h1>Change Background Color Dynamically</h1> 

     <!-- Chang Background Color By Increasing Or Decreasing Color Value --> 
     <button (click)="bgColor = bgColor + 15">+</button> 
     <button (click)="bgColor = bgColor - 15">-</button> 

     <div [ngStyle]="{'background-color': '#' + bgColor}"> 
      Changable Background Color 
     </div> 

     ` 
    }) 

    export class AppComponent { 

     bgColor; 

     constructor() { 
     this.bgColor = 'BBFFFF'; 
     } 

    } 

Antwort

1

Sie haben hex umwandeln in Dezimalzahlen addieren/subtrahieren 15 dann zu hex zu unterstützen konvertieren:

Plunker: https://plnkr.co/edit/e4Vl9amWbLsE46Aeam4s?p=preview

@Component({ 
    selector: 'my-app', 
    template: ` 
    <h1>Change Background Color Dynamically</h1> 

    <!-- Chang Background Color By Increasing Or Decreasing Color Value --> 
    <button (click)="add()">+</button> 
    <button (click)="subtract()">-</button> 

    <div [ngStyle]="{'background-color': '#' + bgColor}"> 
     Changable Background Color 
    </div> 
    `, 
}) 
export class App { 
    bgColor: string; 
    constructor() { 
    this.bgColor = 'BBFFFF'; 
    } 
    toHex(decimalNum){return decimalNum.toString(16); } 
    toDecimal(hexString){return parseInt(hexString, 16);; } 

    add(){ 
    var decimalPlus15 = this.toDecimal(this.bgColor) + 15; 
    this.bgColor = this.toHex(decimalPlus15) 
    } 
    subtract(){ 
    var decimalPlus15 = this.toDecimal(this.bgColor) - 15; 
    this.bgColor = this.toHex(decimalPlus15) 
    } 
} 
+0

Perfect. Vielen Dank. –

Verwandte Themen