gennaio 2017 Aggiornamento:
angolare 2 team ha recentemente aggiunto un nuovo pacchetto NPM flex-layout solo per il layout. È un pacchetto separato indipendente dal materiale angolare.
Le istruzioni complete sono disponibili nel README github page.
Installare il modulo:
npm installare @ angolare/flex-la layout -save
In app.module.ts (o equivalente), dichiarare il modulo:
import {FlexLayoutModule} from "@angular/flex-layout";
@NgModule({
imports: [
...
FlexLayoutModule
],
...
})
Esempio di revisione:
<div class="flex-container"
fxLayout="row"
fxLayout.xs="column"
fxLayoutAlign="center center"
fxLayoutAlign.xs="start">
<div class="flex-item" fxFlex="20%" fxFlex.xs="40%"> </div>
<div class="flex-item" fxFlex> </div>
<div class="flex-item" fxFlex="25px"> </div>
</div>
Ecco uno plunker sample preso dalla pagina github layout flessibile.
risposta originale:
Il docs si fa riferimento sono per angular1 materiale. Il materiale Angular2 non ha ancora direttive di layout.
È possibile creare facilmente la direttiva in modo semplice.
Tutto quello che devi sapere:
layout="row"
è stessa style="display:flex;flex-direction:row"
layout="column"
=>style="display:flex;flex-direction:column"
E flex
è uguale a style="flex:1"
Come direttive:
@Directive({
selector:'[layout]'
})
export class LayoutDirective{
@Input() layout:string;
@HostBinding('style.display') display = 'flex';
@HostBinding('style.flex-direction')
get direction(){
return (this.layout === 'column') ? 'column':'row';
}
}
La direttiva flex, utilizzare come: <div flex>
o <div flex="10">
qualsiasi numero compreso tra 0 e 100%.Inoltre, solo per divertimento, ho aggiunto compattare e far crescere gli ingressi
@Directive({
selector:'[flex]'
})
export class FlexDirective{
@Input() shrink:number = 1;
@Input() grow:number = 1;
@Input() flex:string;
@HostBinding('style.flex')
get style(){
return `${this.grow} ${this.shrink} ${this.flex === '' ? '0':this.flex}%`;
}
}
Per utilizzare ovunque senza l'aggiunta di ogni componente:
@NgModule({
imports: [ BrowserModule ],
declarations: [ AppComponent,FlexDirective ,LayoutDirective ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Ecco un esempio in plunk
Le prime righe del loro documento hanno istruzioni su come importarlo se stai usando SystemJS. Con gli Strumenti per sviluppatori vedi le richieste per il CSS? –
Ho i componenti funzionanti (come Button - ho fatto aggiornare il mio file di configurazione di SystemJ per quello), ma il layout non funziona. Non vedo alcuna richiesta per nessun tipo di materiale di progettazione css. –