функция ng-repeat вызывается несколько раз

0

Я написал ng-repeat, как показано ниже.

<div  class="anchor" ng-repeat="race in races" ng-class="showdata (race)"></div>


  $scope.showdata = function(data)
  {
    var raceId = data.raceId;
    if(raceId == 66666666)
   {
    console.log(data);
    console.log('----- next ---')
   }

и данные что-то вроде этого

[{"raceId": "434346"}, {"raceId": "123456"}, {"raceId": "222222"}, {"raceId": "5555555"}
, {"raceId": "32423443"}
, {"raceId": "66666666"}
]

В идеале данные должны печататься только один раз, так как raceId 66666666 - только один раз. Но я вижу объект, напечатанный трижды. Есть ли проблемы с этим. В идеале это означает, что он получил трижды с одинаковыми данными?

  • 4
    Это всего лишь цикл дайджеста, работающий 3 раза. Отсюда и 3 бревна.
  • 0
    @tymeJV _ Это нормально или проблема с кодом. Я обеспокоен BOS, я все проблемы с моим кодом!
Показать ещё 1 комментарий
Теги:
angularjs-ng-repeat

1 ответ

2
Лучший ответ

На стороне примечания из комментария @tymeJV, что явно правильно.

Если вы хотите установить определенный класс на основе одного из элементов ng-repeat, вы также можете использовать базовую логику внутри самого ng-class.

Например:

<div  class="anchor" ng-repeat="race in races" ng-class="{'some-class': race.raceId === '66666666'"></div>

Это применит только some-class к элементу гонки, который вы указали в своем коде.

  • 0
    Нет его большая обработка, которая будет сделана. Поэтому я беспокоился о производительности своего кода, если я делал что-то не так. Это нормально, что это происходит?
  • 0
    Я склонен избегать использования вызовов функций в HTML для угловых. Даже если у вас большая обработка, вы все равно сможете абстрагировать ее таким образом, чтобы вам не приходилось использовать вызовы функций с ng-class . Я подозреваю, что вы думаете о своей проблеме неправильно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню