1つのコンポーネントを設定して実行し、異なる場所で異なるスタイルで使用するのがベストプラクティスですか? (動的スタイル?)同じコンポーネント、異なるスタイル
1
A
答えて
1
あなたの中にはstyleUrls
/styles
オプションがあります。コンポーネントが表示されるときに使用するコンポーネントメタデータです。 ViewEncasulation
をEmulated
/Native
(DOMをシャドーします)とすると良いでしょう。
私が使用してさまざまなスタイルの間this great article
5
スイッチ上に読むことをお勧めします:異なる(事前に定義されたクラスまたは属性)
:host-context(.class1) {
background-color: red;
}
:host-context(.class2) {
background-color: blue;
}
を適用することにより、ホスト・コンテキスト()
スイッチ
<my-comp class="class1></my-comp> <!-- should be red -->
<my-comp class="class2></my-comp> <!-- should be blue -->
の使用グローバルスタイル
* /deep/ my-comp.class1 {
background-color: red;
}
// or to style something inside the component
* /deep/ my-comp.class1 /*deep*/ div {
border: solid 3px yellow;
}
* /deep/ my-comp.class2 {
background-color: blue;
}
使用ホスト結合
@Component({
selector: 'my-comp',
host: {'[style.background-color]':'backgroundColor'}
})
class MyComponent {
@Input() backgroundColor:string;
}
<my-comp background-color="red"></my-comp>
<my-comp background-color="red"></my-comp>
は面白い "ハック" のためにもhttps://stackoverflow.com/a/36503655/217408参照してください。
0
私によれば、コンポーネントのプロパティ(属性)を通じてスタイルを制御することがベストプラクティスです。
関連する問題
- 1. 異なるルート同じコンポーネント
- 2. 同じブラウザ。同じウィンドウのバージョン。同じスタイル。異なるフォントレンダリング
- 3. (Vue.js)異なるルートの同じコンポーネント
- 4. 異なるスタイルのテキストをCSSで同じ幅にする
- 5. 同じロジックで異なるスタイルの2つのアンドロイドアプリ
- 6. 同じC#MVCアプリケーションの異なるCSSスタイル/リンク/ロゴ、
- 7. LESS - 同じスタイルの複数の異なるクラス?
- 8. 同じスタイルを持つ複数のクラスが異なる値
- 9. React Routerと異なるルートに同じコンポーネントを使用する
- 10. 同じルートパスに異なるコンポーネントがヒットする方法
- 11. 異なるコンポーネントで同じデータとメソッドを使用する
- 12. MSI:同じファイルの異なるコンポーネントのGUIDを修正する
- 13. 経路が同じ2つの異なるコンポーネント
- 14. Reactの異なるページで同じコンポーネントを2回レンダリング
- 15. UIPickerView同じコンポーネントのスウィフトの行の高さが異なる
- 16. Reactjsの異なるコンポーネントで同じレデューサーを使用
- 17. 同じアプリケーション内の異なるバージョンのReportViewerコンポーネント
- 18. React js:異なるコンポーネントから同じモーダルを開く
- 19. 2つの異なるコンポーネントから同じルータコンセントへのポイント
- 20. リアクション - 同じレンダリングで異なるロジックを持つ2つのコンポーネント
- 21. 異なるURLで同じコンポーネントをリロードできますか?
- 22. Angular 2で同じコンポーネントを異なるスタイルにすることはできますか?
- 23. 角2:異なる子コンポーネントで同じ親コンポーネントを使用できますか?
- 24. 同じクエリ、異なるパフォーマンス
- 25. 異なるURL /同じサーバー
- 26. 同じパターン異なるルート
- 27. なぜ異なるHTML IDが同じスタイルを持つのですか?
- 28. コード内の異なるインスタンスに同じスタイルを2回設定する
- 29. 異なるIDと同じクラスのスタイルを設定する方法
- 30. 同じクエリ、異なるDB、同じDB構造、同じDBサーバー、異なる実行計画
はい、:host-context()は私にとって完璧です。ありがとう。 –
テーマごとにスタイルシート全体が必要な場合は、数千のクラスがあり、10のテーマが必要な場合は実行不可能です。 – fdsfdsfdsfds
あなたのコメントと私の答えがどのように関連しているのか分かりません。 –