2017-06-02 12 views
0

にある属性だから、例えば私は別のコンポーネントコンポーネントは、htmlタグ

<component-a class="valid" ></component-a> 

によって追加されたいくつかのCSSクラスを持っている私のコンポーネントを持っているが、私はこれらのクラスを手に入れることができます得ることができますクラス宣言

import { Component } from '@angular/core'; 
@Component({ 
    selector: 'component-a', 
    template: '' 
}) 
export class componentA { } 

答えて

1

2つの可能性があります。

まずあなたがそのような結合パラメータを使用します。

<component-a [class]="'valid'" ></component-a> 

あなたはのようにクラス属性を使用する場合は、変数

@Input() class: string; 

入力して「クラス」にアクセスできることを意味しますあなたの質問は、そのようなコードで属性にアクセスできます。

constructor(private el: ElementRef) { 
} 

    ngOnInit(){ 
    // get the list of classnames 
    this.classList = this.el.nativeElement.classList; 
    console.log(this.classList); 
    } 

Plunker example

+0

あなたの最初のオプションでは、予約語をプロパティ名として使用しようとするのを避けるために、 '@Input( 'class')classAttribute:string;'を使う必要があると思います。 – Duncan