私はangle2のビューに対して1デバイステンプレートを1つ持ちたいと考えています。ブラウザのユーザエージェントに基づいた角度2で可能ですか?angle2にテンプレートがデバイスに基づいて選択される方法はありますか?
7
A
答えて
4
実際に実装されるかどうかはまだ計画されていますが、まだ決定されていません。
現在、メディアクエリを使用して、たとえばngSwitch
を使用して、デバイスまたは画面のサイズに応じてビューのさまざまな部分を表示できます。
あなたは、このためのメディアクエリとCSSの@importsを使用することができますも
1
参照してください。
デバイスごとに別々のCSSファイルを作成し、テンプレートスタイルでインポートするだけで済みます。
例:
Angular2成分:
@Component({
selector: 'my-comp',
template: `...`,
styleUrls: ['./style.css']
})
style.css
において:device1.cssとdevice2.cssで
@import url("device1.css") screen and (min-width: 300px);
@import url("device2.css") screen and (min-width: 800px);
し、デバイス固有のスタイル。
CSS @importsの詳細については、https://developer.mozilla.org/en/docs/Web/CSS/@importを参照してください。
+2
彼はCSSの切り替えではなくテンプレートの切り替えについて尋ねました。あなたが提案したものは@importステートメントなしでメディア照会だけで簡単に達成できました。 – mare
1
それは
fxHide APIでangular/flex-layoutパッケージ を使っているの代替とfxShow API
例
<div fxShow fxHide.xs="false" fxHide.lg="true"> ... </div>
アクティブにブレークポイントは次のとおりです。
xl
、次にデフォルトのfxShowにフォールバックします。そうDIVは(「真」===値ので)、次いでDIVが隠され、lg
を示すmd
、デフォルトfxShowへのフォールバック、そうDIVはsm
が示され、その後フォールバックデフォルトのfxShowに設定します。 (値=== '偽' であるため)
これはbreackpoint
付きリストであるので、DIVは、その後のdivが示され、
xs
import {MediaChange, ObservableMedia} from "@angular/flex-layout";
const PRINT_MOBILE = 'print and (max-width: 600px)';
@Component({
selector : 'responsive-component',
template: `
<div class="ad-content" *ngIf="media.isActive('xs')">
Only shown if on mobile viewport sizes
</div>
`
})
export class MyDemo implements OnInit {
constructor(public media: ObservableMedia) { }
ngOnInit() {
if (this.media.isActive('xs') && !this.media.isActive(PRINT_MOBILE)) {
this.loadMobileContent();
}
}
loadMobileContent() { /* .... */ }
}
- プリントと
(max-width: 600px)
モバイル ビューポートサイズで印刷するmediaQueryあります。 xs
は、モバイルビューポートサイズのmediaQueryに関連付けられたエイリアスです。
関連する問題
- 1. 選択値に基づいて配列から選択オプションを設定する方法はありますか?
- 2. JComboBoxの選択に基づいて選択する方法
- 3. JavaScriptを選択に基づいて選択する必要があります。選択リスト
- 4. データに基づいて実行時に最初のアクティビティを選択する方法はありますか?
- 5. 選択クエリに基づいてテーブルにデータを挿入する方法はありますか?
- 6. React select - 他の選択フィールドの選択されたオプションに基づいて選択をフィルタリングする方法?
- 7. updateCheckBoxGroupInputは他のチェックボックスの選択に基づいて光沢があります
- 8. 他に基づいて選択してください選択
- 9. ajaxは別の選択に基づいて選択します
- 10. その値と変数に基づいてオプションを選択する方法はありますか?
- 11. テンプレート引数に基づいてメンバータイプを選択しますか?私はテンプレートクラスがある場合
- 12. ユーザーに基づいてデータベースを選択する方法
- 13. カスタム列に基づいて選択する方法
- 14. Mysql列に基づいてSUMを選択する方法
- 15. 選択オプションに基づいてテーブルデータを変更する方法
- 16. 環境に基づいてJNDIを選択する方法
- 17. 行の値に基づいて列を選択する方法
- 18. バインディングに基づいてXAMLでブラシを選択する方法
- 19. 値に基づいてオプションを選択する方法
- 20. 日時に基づいて行を選択する方法
- 21. データベースからcsvに基づいて複数の選択ボックスの値を再投入/再選択/自動選択する方法はありますか?
- 22. その値に基づいてクライアントに追加された選択オプションを選択する方法
- 23. 値が動的である場合、最初の選択リストオプションに基づいて2番目の選択リストを変更する方法はありますか?
- 24. オブジェクトの値に基づいてGroupBoxのテンプレートを選択するには
- 25. ユーザが選択した環境に基づいた選択的なejsテンプレート
- 26. 選択に基づいて要素を見つける方法
- 27. オードーの選択に基づいてUsererrorを上げる方法?
- 28. ドロップダウンフォーム要素で選択されている特定のオプションに基づいてセルを表示/非表示にする方法はありますか?
- 29. ios swiftのuitableview multiselctの選択された行数に基づいて選択スタイルを制限する方法
- 30. 選択した別の選択オプションに基づいて選択オプションを変更する方法は?
この問題に関する最新情報はありますか? (ちょうどあなたがアクティブなメンバーで、変更についてもっと知っていることを知っています) – M98
これらのプランは削除されました。私はその方向性については何も認識していませんが、最近数ヶ月間にAngularに近づくことはできませんでした。 –