2015-10-15 3 views
0

Угловой новичок здесь. У меня есть этот угловой вид, где будет несколько «строк панели инструментов», и у них будет несколько «столбцов панели». Я хочу назначить каждому «столбцу-панели» уникальный идентификатор с помощью счетчика. Но я не могу держать счетчик, который будет сохраняться через все строки. Есть идеи?Подсчет количества элементов в угловом режиме

<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> 

В принципе, я хочу подсчет всех «столбцов-дашбардов» на всех его родителях.

ответ

0

Возможно, вам понадобится data-ng-class="'dashboard-rows count' + {{$index}}".

Или еще лучше: data-ng-class="'dashboard-row dashboard-row-' + {{$index}}".

EDIT:

<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

В принципе, я хочу подсчет всех «столбцов-дашбардов». Я не думаю, что ваше решение дает мне это. – Yuvraj

+0

Да, я понял вопрос по-другому. Что вы думаете о моем редактировании? Он предполагает, что все строки имеют равные столбцы. –

+0

Работал отлично! Благодарю. – Yuvraj

0

Поскольку вам нужен уникальный идентификатор, как об объединении dashboard-row индекса и dashbord-columns индекса с префиксом для каждого

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

+0

да, что тоже будет работать, но нет ли способа получить конкретный счет как идентификатор? Просто любопытно. – Yuvraj

+0

, чтобы получить счет, вам нужно пройти через объект, установленный в какой-то момент, а затем вы можете запустить цикл дважды (один для получения счета и другого для печати), другой вариант - получить счет в конце а затем обновить элементы с помощью JS/JQuery. Это зависит от вас, чтобы решить, стоит ли – sameera207

0

Вы можете создать счетчик в вашем объеме.

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

и для id;

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

Другой вариант (который не является на самом деле счетчик, но единственно) является:

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

это не реальный счетчик, но его уникальным, тем не менее.

Смежные вопросы