2016-07-07 68 views
3

我想創建一個簡單的組件來創建。例如,列數和行數有兩個輸入。從角度生成標記而不重複數組

如何生成用戶選擇行數和列數?

這是模板。對於氣味對我不好通過迭代:<

<input type="number" placeholder="Length"/> 
<input type="number" placeholder="width"/> 

<div class="map"> 
    <div class="row"> 
    <div class="cell">Test</div> 
    </div> 
</div> 

這將是巨大做到在打字稿

+0

我認爲這個問題是不是太寬泛或不清楚。將會有許多方法來生成這樣的組件。嘗試[Angular 2 Documentation](https://angular.io/docs/ts/latest/guide/)開始。 – apkostka

+0

是的,你甚至可以創建從1到寬度不等的虛擬數組並遍歷它,但這是我想的可怕想法,但它的工作原理,雖然。但是我無法找到涵蓋Docs中指定的案例的最佳實踐 – dklos

回答

1

事實上,具有相同的模板內的ngFor內的ngFor也許不是理想的。

這就是說,你可以利用一個或幾個其他組件分裂你的不同循環。例如:一個用於行,另一個用於單元格。

在這種情況下,你會:

<div class="map"> 
    <div class="row" row [cells]="row.cells" *ngFor="let row of rows"></div> 
</div> 

和行組件

@Component({ 
    selector: 'row', 
    template: ` 
    <div *ngFor="let cell of cells">{{cell.value}}</div> 
    ` 
}) 
export class RowComponent { 
    @Input() 
    cells: any[]; 
} 

你也可以注意到,你可以利用ngFormTemplate指令。我不完全你的使用情況......

看到這些問題的更多詳細信息: