Seperti yang disarankan oleh @Maxim Shoustin , cara terbaik untuk mencapai apa yang Anda inginkan adalah dengan menggunakan filter khusus.
Tetapi ada cara lain, salah satunya adalah dengan menggunakan ng-if
direktif pada elemen yang sama Anda meletakkan ng-repeat
direktif (juga, ini plunkernya ):
<ul>
<li ng-repeat="player in players" ng-if="player.name_key!='FirstPerson'"></li>
</ul>
Hal ini mungkin memberikan kerugian kecil dari sudut pandang estetika, tetapi memiliki keuntungan besar bahwa pemfilteran Anda dapat didasarkan pada aturan yang tidak terkait erat dengan players
array dan yang dapat dengan mudah mengakses data lain dalam cakupan aplikasi Anda:
<li
ng-repeat="player in players"
ng-if="app.loggedIn && player.name != user.name"
></li>
Perbarui
Seperti yang dinyatakan, ini adalah salah satu solusi untuk masalah seperti ini dan mungkin sesuai atau tidak sesuai dengan kebutuhan Anda.
Seperti yang ditunjukkan di komentar, ng-if
is a directive, yang sebenarnya berarti mungkin melakukan lebih banyak hal di latar belakang daripada yang Anda harapkan.
Misalnya, ng-if
membuat cakupan baru dari induknya :
Cakupan yang dibuat dalam ngIf mewarisi dari lingkup induknya menggunakan pewarisan prototypal.
Ini biasanya tidak memengaruhi perilaku normal, tetapi untuk mencegah kasus yang tidak terduga, Anda harus mengingatnya sebelum menerapkan.