2015-03-15 3 views
0

Я хочу выполнить некоторую арифметическую операцию с $index в ng-repeat. Следующий код не работает:

<tr ng-repeat="item in quotation.items track by $index"> 
    <td class="text-center"><strong>{{$index++}}</strong></td> 
    <td><a href="javascript:void(0);">{{item.item}}</a></td> 
    <td>{{item.quantity}}</td> 
    <td>{{item.rate}}</td> 
    <td>{{item.rate * item.quantity}}</td> 
</tr> 

Как я могу решить эту проблему?

+2

У меня есть ощущение, что вам нужен '$ index + 1', поскольку' $ index ++ 'пытается изменить фактическое значение вашей переменной цикла. –

+0

Не делайте арифметических операций над $ index ... – harishr

ответ

3

Вам необходимо использовать + 1. ++ всегда изменяет переменную, и что никогда не хорошо работает, когда вы делаете это по переменной цикла.

$index + 1 

И это правильный синтаксис для ng-repeat. Вам не нужен by $index. $index создается автоматически.

<tr ng-repeat="item in quotation.items"> 
+0

да .. он работает .. спасибо – gsk

+0

Добро пожаловать. @entre, Почему вы добавили 'by $ index' обратно? Это забрасывало ошибки для меня, но я новичок в javascript. –

+0

Хорошо, теперь я вижу. Я оставил 'track' in. Вынимая' track' или добавляя 'by $ index' в обе работы. –

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