Angularjs (versi di bawah 1.1.5) tidak menyediakan if/elsefungsionalitas. Berikut adalah beberapa opsi untuk mempertimbangkan apa yang ingin Anda capai:
( Langsung ke pembaruan di bawah ini (# 5) jika Anda menggunakan versi 1.1.5 atau lebih tinggi )
1. Operator ternary:
Seperti yang disarankan oleh @Kirk dalam komentar, cara paling bersih untuk melakukan ini adalah dengan menggunakan operator ternary sebagai berikut:
<span>{{isLarge ? 'video.large' : 'video.small'}}</span>
bisa digunakan seperti berikut ini.
<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>
Atau, Anda juga dapat menggunakan ng-show/ng-hidetetapi menggunakan ini sebenarnya akan membuat baik video besar dan elemen video kecil dan kemudian menyembunyikan yang memenuhi ng-hidesyarat dan menunjukkan yang memenuhi ng-showsyarat. Jadi pada setiap halaman Anda sebenarnya akan merender dua elemen yang berbeda.
4. Pilihan lain untuk dipertimbangkan adalah ng-classarahan.
Ini dapat digunakan sebagai berikut.
<div ng-class="{large-video: video.large}">
<!-- video block goes here -->
</div>
Di atas pada dasarnya akan menambahkan large-videokelas css ke elemen div jika video.largebenar.
Pada versi di atas 1.1.5Anda dapat menggunakan ng-ifarahan. Ini akan menghapus elemen jika ekspresi yang disediakan kembali falsedan memasukkan kembali elementdi DOM jika ekspresi kembali true. Dapat digunakan sebagai berikut.
<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>