Angularjs (versioni precedenti alla 1.1.5) non fornisce la if/elsefunzionalità. Di seguito sono riportate alcune opzioni da considerare per ciò che si desidera ottenere:
( Vai all'aggiornamento di seguito (n. 5) se stai utilizzando la versione 1.1.5 o successiva )
1. Operatore ternario:
Come suggerito da @Kirk nei commenti, il modo più pulito per farlo sarebbe usare un operatore ternario come segue:
<span>{{isLarge ? 'video.large' : 'video.small'}}</span>
può essere usato qualcosa di simile al seguente.
<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>
In alternativa, potresti anche usare, ng-show/ng-hidema l'utilizzo di questo renderà effettivamente sia un video di grandi dimensioni che un piccolo elemento video e quindi nasconderà quello che soddisfa la ng-hidecondizione e mostra quello che soddisfa la ng-showcondizione. Quindi, in ogni pagina, verranno visualizzati due elementi diversi.
4. Un'altra opzione da considerare è la ng-classdirettiva.
Questo può essere usato come segue.
<div ng-class="{large-video: video.large}">
<!-- video block goes here -->
</div>
Quanto sopra sostanzialmente aggiungerà una large-videoclasse CSS all'elemento div se video.largeè vero.
5. ng-ifdirettiva:
Nelle versioni precedenti 1.1.5è possibile utilizzare la ng-ifdirettiva. Ciò rimuove l'elemento se l'espressione fornita ritorna falsee reinserisce il elementnel DOM se l'espressione ritorna true. Può essere usato come segue.
<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>