Angularjs (รุ่นด้านล่าง 1.1.5) ไม่ได้มีif/else
ฟังก์ชันการทำงาน ตัวเลือกต่อไปนี้เป็นตัวเลือกในการพิจารณาสิ่งที่คุณต้องการบรรลุ:
( ข้ามไปยังการอัปเดตด้านล่าง (# 5) หากคุณใช้เวอร์ชั่น 1.1.5 หรือสูงกว่า )
1. ผู้ประกอบการที่ประกอบไปด้วย:
ตามคำแนะนำของ @Kirk ในความคิดเห็นวิธีที่สะอาดที่สุดในการทำเช่นนี้คือการใช้ผู้ประกอบการที่ประกอบไปด้วยดังนี้:
<span>{{isLarge ? 'video.large' : 'video.small'}}</span>
สามารถใช้สิ่งต่อไปนี้
<div ng-switch on="video">
<div ng-switch-when="video.large">
<!-- code to render a large video block-->
</div>
<div ng-switch-default>
<!-- code to render the regular video block -->
</div>
</div>
หรือคุณอาจใช้ng-show/ng-hide
แต่การใช้วิธีนี้จะแสดงทั้งวิดีโอขนาดใหญ่และองค์ประกอบวิดีโอขนาดเล็กจากนั้นซ่อนรายการที่ตรงตามng-hide
เงื่อนไขและแสดงรายการที่ตรงตามng-show
เงื่อนไข ดังนั้นในแต่ละหน้าคุณจะแสดงสององค์ประกอบที่แตกต่างกัน
4. ตัวเลือกอื่นที่ควรพิจารณาคือng-class
คำสั่ง
สามารถใช้งานได้ดังนี้
<div ng-class="{large-video: video.large}">
<!-- video block goes here -->
</div>
ด้านบนโดยทั่วไปจะเพิ่มlarge-video
คลาส CSS ไปยังองค์ประกอบ div ถ้าvideo.large
เป็นความจริง
ในเวอร์ชันด้านบน1.1.5
คุณสามารถใช้ng-if
คำสั่ง นี้จะลบองค์ประกอบถ้าแสดงออกให้ผลตอบแทนfalse
และแทรกอีกครั้งelement
ใน DOM true
ถ้าผลตอบแทนการแสดงออก สามารถใช้งานได้ดังนี้
<div ng-if="video == video.large">
<!-- code to render a large video block-->
</div>
<div ng-if="video != video.large">
<!-- code to render the regular video block -->
</div>