2015-11-06 73 views
0

我知道這很簡單,但我想問如何在ng中創建div - 重複包括一個對象proprty定義對象的數量。 例如我有像用AngularJS創建div

function rowModel() { 
     this.id = 0; 
     this.columnCount = 1; 
    } 

一個對象,並予填充象下面

$scope.Rows = []; 
     $scope.AddRow = function() { 
     var newRow = new rowModel(); 
     newRow.id = 1; 
     newRow.columnCount = 3; 
     $scope.Rows.push(newRow); 
    } 

我只想創建包括在每行中的div 3 HTML模板陣列。 這是我的HTML,我想重複。細胞DIV這是在對象模型

<button class="button" ng-click="AddRow()">Satır Ekle</button> 
<div class="row cells{{row.columnCount}} bg-cyan" ng-repeat="row in Rows"> 
    <div class="cell" ng-repeat="column in row.columnCount">{{row.id}}</div> 
</div> 

任何幫助定義了3倍?

感謝

回答

1

使用下面的代碼在你的控制器

$scope.getNumber = function(num) { 
    return new Array(num); 
} 

並使用您的視圖

<button class="button" ng-click="AddRow()">Satır Ekle</button> 
<div class="row cells{{row.columnCount}} bg-cyan" ng-repeat="row in Rows"> 
    <div class="cell" ng-repeat="column in getNumber(row.columnCount) track by $index">{{row.id}}</div> 
</div> 

而且下面的,如果你不想觸摸控制器,你可以做到這一點 ((_ = [])& &(_.length = row.columnCount)& & _)track by $ index「

Here是我找到它的帖子。

+0

大!謝謝 –

0

我想創建一個過濾器爲這個

angular.module('myApp') 
    .filter('range', function(){ 
    return function(n) { 
     var res = []; 
     for (var i = 0; i < n; i++) { 
     res.push(i); 
     } 
     return res; 
    }; 
    }); 

之後,就認爲是可以使用這樣的:

<div class="cell" ng-repeat="column in row.columnCount | range">{{row.id}}</div>