2017-02-13 7 views
5

Jestem bardzo nowe do Flex-układ i mający problemy mocowania następujące:kątowa flex-układ z ngFor

https://github.com/angular/flex-layout

My ngFor:

<div fxLayout.xs="column"> 
<country fxFlex *ngFor="let country of countries" [country]="country"></country> 
</div> 

Wynik:

enter image description here

Co jeśli chcę tylko 3 kraje rząd, innymi słowy, co jeśli chcę, aby ostatnie "Niemcy" znajdowały się w następnym rzędzie?

Czy jest to możliwe tylko po utworzeniu wielu numerów fxLayout? Mam tu na myśli 2 pętle, 1, aby utworzyć numer fxLayout i kolejną wewnętrzną pętlę, aby pokazać moje komponenty krajów (elementów fxFlex). Z góry dziękuję!

+0

Co się stanie, jeśli umieścić 'min-width: 33%' na każdym pudełku? W standardowym flexboksie zapewni to tylko 3 pozycje max w rzędzie –

+0

fxLayout to prawdopodobnie dyrektywa Angular 2. Proszę podać wynikowy (jsfiddle.net) kod HTML i CSS, które pojawiają się w przeglądarce. Znam rozwiązanie dla tej sytuacji. – Marian07

+0

Aktualizacja: Rzeczywiście, jest to dyrektywa Ng2 (https://github.com/angular/flex-layout). Zrobię kilka testów jutro, aby móc udzielić odpowiedzi za pomocą jej metod. – Marian07

Odpowiedz

7

znalazłem rozwiązanie na: How to control number of items per row using media queries in Flexbox?

HTML:

<div fxLayout="row" fxLayout.xs="column" fxLayoutWrap="wrap"> 
    <country fxFlex.gt-xs="50%" [fxFlex.gt-md]="regularDistribution" *ngFor="let country of countries" [country]="country"></country> 
</div> 

Typescript:

//I use this to show of expression bindings in flex-layout and because I don't want the calculated value in the HTML. 
regularDistribution = 100/3; 

okład: multi-line/lewej do prawej w ltr; od prawej do lewej w RTL

Kluczem tutaj jest fxLayoutWrap = "wrap"