Ajout à la réponse de @Leo Caserio, si vous obtenez une erreur lors du premier chargement, comme suit:
Erreur: mat-grid-list: doit indiquer le nombre de colonnes. Exemple: ...
Vous pouvez utiliser subject
:
Composant
@ViewChild('grid',{static:true}) grid: MatGridList;
cols:Subject<any> = new Subject();
constructor(private observableMedia: MediaObserver) { }
ngAfterContentInit() {
this.observableMedia.asObservable().subscribe((change: MediaChange[]) => {
this.cols.next(this.gridByBreakpoint[change[0].mqAlias]);
});
}
Modèle
<mat-grid-list #grid [cols]="cols | async" rowHeight = "1:1">
Remarque: @ angular / flex-layout ": {" version ":" 8.0.0-beta.26 "}