Angularjs (versiones inferiores a 1.1.5) no proporciona la if/elsefuncionalidad. Las siguientes son algunas opciones a considerar para lo que desea lograr:
( Vaya a la actualización a continuación (# 5) si está utilizando la versión 1.1.5 o superior )
1. Operador ternario:
Según lo sugerido por @Kirk en los comentarios, la forma más limpia de hacerlo sería utilizar un operador ternario de la siguiente manera:
<span>{{isLarge ? 'video.large' : 'video.small'}}</span>
se puede usar algo como lo siguiente.
<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>
Alternativamente, también puede usarlo, ng-show/ng-hidepero usarlo en realidad representará un video grande y un elemento de video pequeño y luego ocultará el que cumpla la ng-hidecondición y muestre el que cumpla la ng-showcondición. Entonces, en cada página, realmente representará dos elementos diferentes.
4. Otra opción a considerar es la ng-classdirectiva.
Esto se puede usar de la siguiente manera.
<div ng-class="{large-video: video.large}">
<!-- video block goes here -->
</div>
Lo anterior básicamente agregará una large-videoclase css al elemento div si video.largees verdadero.
5. ng-ifdirectiva:
En las versiones anteriores 1.1.5, puede usar la ng-ifdirectiva. Esto eliminaría el elemento si la expresión proporcionada regresa falsey se vuelve a insertar elementen el DOM si la expresión regresa true. Se puede usar de la siguiente manera.
<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>