0

я должен запустить функцию во время нг-повтора, как этотВыполнение функции в нг-повтор дает ошибку

<tr ng-repeat="x in listaService track by $index"> 
    <td>{{x.label}}</td> 
    <td><span ng-show="showNoRole(x.label)" id="bannerRole">Nessun Ruolo</span> </td> 
</tr> 

и в угловом контроллера у меня эту функцию для контроля за нг-шоу:

$scope.showNoRole = function(label) { 
    RicercaRuoloService.load(label).then(function(data) { 

     if (data != "\"null\"") { 
     return false; 
     } else { 
     return true; 

     } 
    }, function(error) { 
     $scope.ErroreConnessione = true; 
    }) 
} 

Функция RicercaRuoloService возвращает массив или "\"null\"", если массив пуст. Проблема заключается в том, когда я иду на страницу где находится нг-повторить старт консоли для печати в цикле эту ошибку:

angular.min.js:107 Error: [$rootScope:infdig] http://errors.angularjs.org/1.4.8/$rootScope/infdig?p0=10&p1=%5B%5D 
    at angular.min.js:6 
    at r.$digest (angular.min.js:131) 
    at r.$apply (angular.min.js:134) 
    at g (angular.min.js:87) 
    at T (angular.min.js:92) 
    at XMLHttpRequest.w.onload (angular.min.js:93) 

и использование центрального процессора идут frof 20% до 100%, пока не закрыть страницу. Как я могу исправить эту проблему? Лучшие reguards

EDIT: это массив из listaService:

[{"_id":"test","label":"test","descrizione":"descrizione test","url":"http://www.virgilio.it","tipoProfilo":"NGPFNL","periodoValidazione":370,"direct":false,"preValid":false,"deleted":false},{"_id":"test2","label":"test2","descrizione":"descr test2","url":"http://www.google.com","tipoProfilo":"NGPFNL","periodoValidazione":123,"direct":false,"preValid":false,"deleted":false}] 

EDIT2: RicercaRuoloService это просто Угловая сервис, вызов службы отдыха и принимают форму данных БД. Служба останова отлично работает, я использовал ее и для другой страницы, но не как функцию в ng-repeat.

+0

не использует Минимизированную версию 'JS' для развития. использовать только в то время как в производстве –

+0

'Ошибка: $ rootScope: infdig Бесконечный $ digest Loop Достигнуто 10 $ digest() итераций. Aborting! Наблюдатели стреляли в последние 5 итераций: [] ' –

+0

Я знаю, но я должен использовать его. – Daveus

ответ

0

Попробуйте установить один раз. Прямо сейчас ваша функция выполняется в каждом цикле дайджеста angularJS.

ng-show="::showNoRole(x.label)" 

попробовать Также

$scope.showNoRole = function(label) { 
var result; 
RicercaRuoloService.load(label).then(function(data) { 

    if (data != "\"null\"") { 
     result = false; 
    } else { 
     result = true; 
    } 
}, function(error) { 
    result = false; 
    $scope.ErroreConnessione = true; 
}) 
return result; 
} 
+0

Не разрешает проблему – Daveus

+0

Попробуйте также мой обновленный ответ – Olezt

+0

Извините, но это не так. t work too – Daveus