Comme @Maxim Shoustin l'a suggéré, la meilleure façon d'obtenir ce que vous voulez serait d'utiliser un filtre personnalisé.
Mais il y a d'autres moyens, l'un d'eux étant d'utiliser la ng-if
directive sur le même élément où vous avez mis la ng-repeat
directive (aussi, voici le plunker ):
<ul>
<li ng-repeat="player in players" ng-if="player.name_key!='FirstPerson'"></li>
</ul>
Cela peut présenter un inconvénient mineur d'un point de vue esthétique, mais présente un avantage majeur en ce que votre filtrage pourrait être basé sur une règle qui n'est pas aussi étroitement couplée au players
tableau et qui peut facilement accéder à d'autres données dans la portée de votre application:
<li
ng-repeat="player in players"
ng-if="app.loggedIn && player.name != user.name"
></li>
Mise à jour
Comme indiqué, c'est l' une des solutions à ce type de problème et peut ou non répondre à vos besoins.
Comme indiqué dans les commentaires, il ng-if
s'agit d'une directive, ce qui signifie en fait qu'elle pourrait faire plus de choses en arrière-plan que vous ne le pensez.
Par exemple, ng-if
crée une nouvelle étendue à partir de son parent :
La portée créée dans ngIf hérite de sa portée parente à l'aide de l'héritage prototypique.
Cela n'affecte généralement pas le comportement normal, mais pour éviter les cas inattendus, vous devez garder cela à l'esprit avant de l'implémenter.