ตามที่@Maxim Shoustinแนะนำวิธีที่ดีที่สุดในการบรรลุสิ่งที่คุณต้องการคือการใช้ตัวกรองแบบกำหนดเอง
แต่มีวิธีอื่นอีกวิธีหนึ่งคือการใช้ng-if
คำสั่งกับองค์ประกอบเดียวกันคือคุณวางng-repeat
คำสั่ง (เช่นกันนี่คือplunker ):
<ul>
<li ng-repeat="player in players" ng-if="player.name_key!='FirstPerson'"></li>
</ul>
สิ่งนี้อาจทำให้เกิดข้อเสียเล็กน้อยจากมุมมองเชิงสุนทรีย์ แต่มีข้อได้เปรียบที่สำคัญคือการกรองของคุณอาจเป็นไปตามกฎที่ไม่รวมกับplayers
อาร์เรย์อย่างแน่นหนาและสามารถเข้าถึงข้อมูลอื่น ๆ ในขอบเขตของแอปของคุณได้อย่างง่ายดาย:
<li
ng-repeat="player in players"
ng-if="app.loggedIn && player.name != user.name"
></li>
อัปเดต
ตามที่ระบุไว้นี่เป็นหนึ่งในวิธีแก้ปัญหาประเภทนี้และอาจตรงกับความต้องการของคุณ
ตามที่ระบุไว้ในความคิดเห็นng-if
เป็นคำสั่งซึ่งจริงๆแล้วหมายความว่าอาจทำสิ่งต่างๆในเบื้องหลังมากกว่าที่คุณคาดหวัง
ตัวอย่างเช่นng-if
สร้างขอบเขตใหม่จากระดับบนสุด :
ขอบเขตที่สร้างขึ้นภายใน ngIf สืบทอดมาจากขอบเขตพาเรนต์โดยใช้การสืบทอดโปรโตไทป์
โดยปกติจะไม่ส่งผลกระทบต่อพฤติกรรมปกติ แต่เพื่อป้องกันกรณีที่ไม่คาดคิดคุณควรคำนึงถึงสิ่งนี้ก่อนที่จะดำเนินการ