2017-07-31 103 views

回答

4

角有回答您的問題一個美麗的例子:https://material.angular.io/components/grid-list/examples

md-grid-list組件通過指定屬性cols="4"定義網格將列數。然後在裏面提供一個md-grid-tile組件的列表(示例角度使用使用ngFor,我希望你熟悉它)。

所以,如果你想建立矩陣5v7,然後嘗試:

<md-grid-list cols="7" rowHeight="100px"> 
    <md-grid-tile 
     *ngFor="let tile of tiles" 
     [colspan]="tile.cols" 
     [rowspan]="tile.rows" 
     [style.background]="tile.color"> 
    {{tile.text}} 
    </md-grid-tile> 
</md-grid-list> 

@Component({ 
    selector: 'grid-list-dynamic-example', 
    templateUrl: 'grid-list-dynamic-example.html', 
}) 
export class GridListDynamicExample { 
    tiles = [ 
    {text: 'One', cols: 1, rows: 1, color: 'lightblue'}, 
    {text: 'Two', cols: 1, rows: 1, color: 'lightblue'}, 
    {text: 'etc', cols: 1, rows: 1, color: 'lightblue'}, 
    {text: 'etc', cols: 1, rows: 1, color: 'lightblue'}, 
    {text: 'etc', cols: 1, rows: 1, color: 'lightblue'}, 
    {text: 'etc', cols: 1, rows: 1, color: 'lightblue'}, 
    {text: 'etc', cols: 1, rows: 1, color: 'lightblue'}, 
    {text: '...', cols: 1, rows: 1, color: 'lightblue'}, 
    ]; 
} 
+0

所以,這是不好的例子,根據這個例子,我問的問題,因爲它是不明確 – Daniel

+0

'的cols =「4」'但是我看到3 – Daniel

+0

我不明白如何建立矩陣5x7 – Daniel

2

讓我打破它,首先讓我們來看看HTML

<md-grid-list cols="4" rowHeight="100px"> 
    <md-grid-tile 
     *ngFor="let tile of tiles" 
     [colspan]="tile.cols" 
     [rowspan]="tile.rows" 
     [style.background]="tile.color"> 
    {{tile.text}} 
    </md-grid-tile> 
</md-grid-list> 

cols屬性,用於設置網格中的列數。因此,在這種情況下,每行被分成4列。

tiles = [ 
{text: 'One', cols: 3, rows: 1, color: 'lightblue'}, 
{text: 'Two', cols: 1, rows: 2, color: 'lightgreen'}, 
{text: 'Three', cols: 1, rows: 1, color: 'lightpink'}, 
{text: 'Four', cols: 2, rows: 1, color: '#DDBDF1'}, 
]; 

在這裏,在標題的每個對象對應於所述項目中的角材料網格:如下所示

接下來的事情是使瓦片到電網。 行屬性用於設置每個項目的高度,默認一行的高度爲100px。所以如果rows: 2任何項目,該項目將有一個200px的高度。

參考:Angular grid-list documentaionhttps://material.angular.io/components/grid-list/examples