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є truthy.
5. ng-ifдиректива:
У наведених вище версіях 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>