2017-03-14 6 views
0

Angular2ビューからコールする必要があるかどうかについてチームメイトに引数を与え、TypeScriptメソッド(コンポーネント)を使用してビューの適切なcssクラスを計算して返します。typescript/javascriptメソッドは、CSSクラスを計算して返しますか?

ビュー

<div class="{{ getClass() }}"> ... </div> 

コンポーネント

getClass():string { 
    //some logic 
    return 'myCSSclass'; 
} 

主な問題は、CSSとTSファイル内のCSSクラス名のカップリングです。他の方法でこれを行う推奨された方法はありますか?

+1

[ngClass](https://angular.io/docs/ts/latest/api/common/index/NgClass-directive.html)も使用できます – YounesM

+1

この質問は実際には意見に基づいています。 Angular2は[コンポーネントのスタイルに関する別の理論](https://angular.io/docs/ts/latest/guide/component-styles.html)を理解していますから、そこでいくつかの研究をしたい。 –

答えて

1

はちょうどYounesMのように言った:

<div [ngClass]="getClass()"> ... </div> 
+1

これは、OP *がそのようなロジックをコンポーネントに入れるべきかどうかという疑問に答えるものではありません。 –

+0

@Bougarfaoui El houcineありがとうございますが、これはここでは問題ではありません。 – Konst

+0

はいメソッドを定義するには、クラスを返すためのロジックが必要なので –

0

https://angular.io/docs/ts/latest/api/common/index/NgClass-directive.html

をあなたはCSSクラス名の配列になります[ngClass]、またはキーがプロパティ名と値であり、オブジェクトを使用することができますクラスを適用するかどうかを決定するブール値(通常はクラスのプロパティまたはメソッドにバインドされています)です。

cssクラス名をテンプレートから切り離したい場合は、クラスを別の名前空間の下に置いたほうがよいでしょう。次に、マッピングされているプロパティに関する懸念なしにテンプレートのプロパティを参照できますに。

関連する問題