2017-06-14 6 views
0

私はstyleUrlsの成分を持っています。角度2のコンポーネントに基づいて条件付きでスタイルシートを追加するにはどうすればよいですか?

*ngIfがあるため、このコンポーネントはデフォルトでは表示されません。

trueの場合、コンポーネントはCSSとともにページに表示されます。 CSSは文書<head>に自動的に追加されます。

falseの場合、コンポーネントは表示されなくなりますが、そのCSSはまだページ内にある<head>の中に残ります。

コンポーネント自体が表示されていない場合は、<head></head>からこのCSSを削除するにはどうすればよいですか?例えば

<element NgStyle={condition? true: false} > </element> 

<element NgStyle={isNew ? 'new' : 'default' } > </element> 

私にしてみましょう

答えて

0

あなたは、あなたがこのような条件付きのCSSクラスを設定することができ*ngIf='YOUR_COMPONENT_ROUTE_HERE === THIS_ROUTE'. Not sure if the stylesheet will load.

を使用してindex.htmlを上の条件付きスタイルシートを使用することができますさらなる質問があるかどうかをご確認ください。

+0

私のCの外にいくつかのCSSを追加したい"body"や "html"のような、ルートコンポーネントの外側にあるomponent。 – Steffi

+0

私はあなたがここで尋ねているものより洗練された解決策があるかもしれないと思う..私はあなたが実際に達成しようとしているものと協力するために、より多くの情報を必要とするだけです – Moshe

+0

うん!私はルートコンポーネントの中にPopupという名前のコンポーネントを持っています。ポップアップコンポーネントのCSSは、コンポーネントが表示されないため、ここでは読み込みページにありません。ポップアップコンポーネントが表示されると、CSSも表示されます。しかし、ポップアップがもう表示されなくなっても、CSSはまだ残っています。 CSSでは、CSSを(ルートコンポーネント外、ポップアップコンポーネント外)と#header(ルートコンポーネント内で、ポップアップコンポーネント外)に変更するプロパティがあります。 IDで要素を取得してDOMにアクセスせずにどうすればいいですか?ありがとう – Steffi

関連する問題