2017-11-27 5 views

답변

1

질문에 대한 해결책을 찾았습니다.

protected _state = States.ok; 
 

 
    @Input('state') 
 
    public set state(value: string) { 
 
     console.log('CARD STATE: ', value); 
 
     switch (value) { 
 
      case States.ok: 
 
      case States.warn: 
 
      case States.danger: 
 
       // this.elementClass = 'app-dashboard-card-' + value; 
 
       this.setClass(value); 
 
       break; 
 
      default: 
 
       throw new Error('DashboardItemComponent: state not recognised'); 
 
     } 
 
     this._state = value; 
 
    } 
 

 
    constructor(private renderer: Renderer2, private hostElement: ElementRef) { 
 
     renderer.addClass(hostElement.nativeElement, 'custom-theme'); 
 
    } 
 

 
    setClass(state: string) { 
 
     this.renderer.removeClass(this.hostElement.nativeElement, OK_CLASS); 
 
     this.renderer.removeClass(this.hostElement.nativeElement, WARN_CLASS); 
 
     this.renderer.removeClass(this.hostElement.nativeElement, DANGER_CLASS); 
 
     this.renderer.addClass(this.hostElement.nativeElement, 'app-dashboard-card-' + state); 
 
    }