2015-10-15 52 views
0

這裏是角度新手。 我有這種角度視圖,將有多個「儀表板行」,那些將有多個「儀表板列」。我想通過使用計數器爲每個「儀表板 - 列」分配一個唯一的ID。但是我無法保留那些會在所有行中持續存在的計數器。有任何想法嗎?計算角度視圖中元素的數量

<div class="dashboard-rows count{{$index}}" ng-style="{'height': row.height}"> 
    <div class="dashbord-columns" ng-repeat="column in row.columns" id="gadget{{ counter }}"> 
    </div> 
</div> 

基本上,我想統計所有父母的所有'dashbord-columns'。

回答

0

您可能需要data-ng-class="'dashboard-rows count' + {{$index}}"

甚至更​​好:data-ng-class="'dashboard-row dashboard-row-' + {{$index}}"

編輯:

<div data-ng-class="dashboard-rows count{{$index}}" ng-style="{'height': row.height}"> 
    <div class="dashbord-columns" 
     data-ng-repeat="column in row.columns" 
     data-ng-attr-id="gadget-{{$parent.$index * row.columns.length + $index}}"></div> 
</div> 
+0

基本上我想要統計所有'dashbord-columns'。我不認爲你的解決方案給了我這個。 – Yuvraj

+0

是的,我以不同的方式理解了這個問題。你對我的編輯有什麼看法?它假定所有行都有相同的列數。 –

+0

工作完美!謝謝。 – Yuvraj

0

既然你需要一個唯一的ID,如何dashboard-row指數和dashbord-columns指數與前綴結合每個

例:dr{{$dashboard_row_index}}dc{{$dashboard_column_index}}

+0

是的,這也可以工作,但沒有任何方法來獲得特定的計數作爲ID?只是好奇。 – Yuvraj

+0

爲了獲得計數,你必須循環遍歷在某個點設置的對象,然後你可以運行循環兩次(一次獲得計數和其他打印),另一種選擇是在最後得到計數然後使用JS/JQuery更新元素。它取決於你決定它是否值得付出努力 – sameera207

0

您可以創建計數器在你的範圍內。

$scope.currentCounter = 0; 
$scope.nextGadget= function(){ 
    $scope.currentCounter = $scope.currentCounter + 1; 
    return $scope.currentCounter; 
} 

and for the id;

id="gadget{{nextGadget()}}" 

另一種選擇(這是不是一個真正的計數器,但是是唯一的)是:

id="gadget{{$parent.$index + '' + $index}}" 

這是不是一個真正的計數器,但其獨特的仍然。