/ / AngularJS - Tiene un elemento no repetible dentro de ng-repeat - angularjs, angularjs-ng-repeat

AngularJS: tiene un elemento no repetible dentro de ng-repeat - angularjs, angularjs-ng-repeat

Esta pregunta es un poco difícil de explicar, así que intentaré con mi código real para mostrar el ejemplo. Estoy usando ng-repeat utilizando la sintaxis "ng-repeat =" a in logros = (| entidad de logros no se define hastadentro de la repetición ng que no es una opción. Estoy obligado a colocarlo DESPUÉS de que la repetición ng haya finalizado. ¿Hay alguna forma diferente de lograr esto, para poder hacer referencia al contenido filtrado del objeto antes o dentro de la repetición ng (pero sin tener que repetirlo realmente)?

            <div style="padding:10px;margin-bottom:10px;" ng-repeat="a in achievments =(userAchievementConfig.achievements
| filter:userAchievementConfig.filters.search
| filter:{UserTeam:userAchievementConfig.filters.team}
| filter:{UserDept:userAchievementConfig.filters.dept})"
ng-if="$index >= userAchievementConfig.startNum && $index <= userAchievementConfig.endNum">
<div ng-if="achievements.length == 0" class="alert alert-info text-center">No users match your current filter</div>
<div class="col-sm-2">
<img ng-if="a.picture" data-ng-src="/images/data:image/png;base64,{{a.picture}}" border=0 class="img-rounded pull-left" style="max-height:125px;max-width:100%;" >
<div ng-if="!a.picture" style="height:125px;width:100%;padding:3px;background-color:#CCC;"></div>
</div>
<div class="col-sm-10">
<h4 ng-bind="a.UserName"></h4>
<span ng-bind="a.sComments"></span>
<br><i> - <span ng-bind="a.RequestedByName"></span> in <span ng-bind="a.timeSubmitted"></span></i>
</div>
<div class="clearfix"></div>
</div>
<div class="col-sm-6" ng-if="!userAchievementConfig.filters.search">
<ul uib-pagination total-items="userAchievementConfig.achievements.length"  boundary-link-numbers="true" max-size="3" ng-model="userAchievementConfig.pageNum" class="pagination-sm nomargin" items-per-page="userAchievementConfig.itemsPerPage"></ul>
</div>
<div class="col-sm-6" ng-if="!userAchievementConfig.filters.search">
Showing {{userAchievementConfig.startNum+1}} - {{userAchievementConfig.endNum+1}} of {{userAchievementConfig.achievements.length}} achievements
</div>
<div class="clearfix"></div>

Respuestas

1 para la respuesta № 1

Puede obtener el elemento filtrado sin ng-repetir como el código de abajo

$scope.filteredItems = $scope.$eval("userAchievementConfig.achievements  | filter:userAchievementConfig.filters.search | filter:{UserTeam:userAchievementConfig.filters.team}| filter:{UserDept:userAchievementConfig.filters.dept}");