Я хотел бы выполнить функцию внутри ng-repeat, чтобы извлечь некоторые другие данные для отображения.Выполнение функции внутри ng-repeat в AngularJS
Например, у меня есть список квартир. Я показываю этот список, используя ng:repeat
, чем для каждой квартиры, которую я хотел бы показать Владельцу, то есть не u.Apartments
. Поэтому моя функция getInq
позвонит в службу, чтобы получить владельца указанной квартиры. Для меня это логично, но это не работает. Он возвращает "10 $digest() iterations reached. Aborting!"
ошибка.
Я этот код:
<div ng:repeat="u in units">
<div ng:repeat="a in u.Apartments">
<div class="targhetta" style="margin-top:10px">{{a.Name}}</div>
<br />{{getInq(a.ApartmentId)}}
<table>
<tr ng:repeat="cs in a.CS">
<td>{{cs.Position}}</td>
<td>{{cs.Code}}</td>
</tr>
</table>
</div>
</div>
И в контроллере:
$scope.getInq = function (idApp) {
$http.get('http://localhost:8081/api/registry/GetLastInq?processdata=' + (new Date()).getTime() + '&appartamentoId=' + idApp, { headers: headers })
.success(function (data2) {
$scope.nomeInquilinoVw = data2.Name;
$scope.cognomeInquilinoVw = data2.Surname;
$scope.nomeCognome = $scope.nomeInquilinoVw + " " + $scope.cognomeInquilinoVw;
})
.error(function() {
$scope.success = false;
$scope.error = "There was an error!";
});
return $scope.nomeCognome;
}
Любые предложения?
Вы должны создать пользовательские директивы пропуск в любых данных, хотите от ng-repeat и выполнить любое действие, которое вы хотите. Директива будет запускать свою функцию связи на каждом цикле ng-repeat – Synapse
, вы не можете иметь HTTP-запрос как то, что возвращается как функция, поскольку он доцент существует, когда функция вызывается – Ardenexal