Como sugirió @Maxim Shoustin , la mejor manera de lograr lo que desea sería usar un filtro personalizado.
Pero hay otras formas, una de ellas es usar la ng-if
directiva en el mismo elemento donde colocó la ng-repeat
directiva (también, aquí está el plunker ):
<ul>
<li ng-repeat="player in players" ng-if="player.name_key!='FirstPerson'"></li>
</ul>
Esto puede presentar una pequeña desventaja desde una perspectiva estética, pero tiene la gran ventaja de que su filtrado podría basarse en una regla que no está tan estrechamente acoplada a la players
matriz y que puede acceder fácilmente a otros datos en el alcance de su aplicación:
<li
ng-repeat="player in players"
ng-if="app.loggedIn && player.name != user.name"
></li>
Actualización
Como se indicó, esta es una de las soluciones para este tipo de problema y puede que se adapte a sus necesidades o no.
Como se señaló en los comentarios, ng-if
es una directiva, lo que en realidad significa que podría hacer más cosas en segundo plano de lo que cabría esperar.
Por ejemplo, ng-if
crea un nuevo alcance a partir de su padre :
El alcance creado dentro de ngIf hereda de su alcance padre usando herencia prototípica.
Por lo general, esto no afecta el comportamiento normal, pero para evitar casos inesperados, debe tener esto en cuenta antes de implementar.