2017-10-09 12 views
0

こんにちは私は、角材ツールチップの実装をしています。私のスパンを動かすと、ツールチップを見ることができます。私は条件付きでツールチップの背景を変更するにはどうすればよい(例:エラーショー赤の背景、成功ショー緑の背景など)別のDOM要素から1つのDOM要素のスタイリングを制御する方法

コンポーネント:

import { 
    Component, 
    Input, 
    HostBinding, 
    OnInit, 
    ViewEncapsulation, 
    ElementRef, 
    AfterViewInit 
} from '@angular/core'; 

@Component({ 
    selector: 'dbs-tooltip', 
    templateUrl: './tooltip.component.html', 
    styleUrls: ['./tooltip.component.scss'], 
}) 
export class TooltipComponent implements AfterViewInit{ 
    @Input() content: any; 
    @Input() position: any; 
    @Input() type: string; 

    constructor(private elRef:ElementRef) {} 

    ngAfterViewInit() { 
     this.elRef.nativeElement.querySelector('.mat-tooltip'); 
     } 

    getToolTipClass() { 
     if (this.type === 'error') { 
      return 'error-class'; 
     } else if (this.type === 'success') { 
      return 'success-class'; 
     } 
    } 
} 

HTML:

<span mdTooltip={{content}} mdTooltipPosition={{position}}> 
    <ng-content></ng-content> 
</span> 

CSS:

// md-tooltip-component { 
//  div { 
//  background: red;  
//  } 
// } 


.success-class { 
    md-tooltip-component { 
     div { 
      background: green;  
     } 
     } 

} 

いずれかのアイデアですか?あなたの助けを前にありがとう。

答えて

0

コンポーネントのスタイルを変更するには、特別なセレクタを使用する必要があります。詳細はhereをご覧ください。 ::ng-deepについてもっと読む。残念ながら、::ng-deepは廃止される予定です(/deep/および>>>より後になります)。

0

私はあなたがこのように角度指令ngClassを使用することができると思う:

<some-element [ngClass]="(your condition)? class-success : class-error">...</some-element>

+0

OP要素が**ない** **ツールチップをカスタマイズする方法を探している**されます。 – Edric

関連する問題