Angularjs (Versionen unter 1.1.5) bietet nicht die if/else
Funktionalität. Nachfolgend finden Sie einige Optionen, die Sie für Ihre Ziele in Betracht ziehen sollten:
( Springen Sie zum folgenden Update (#5), wenn Sie Version 1.1.5 oder höher verwenden )
1. Ternärer Operator:
Wie von @Kirk in den Kommentaren vorgeschlagen, wäre die sauberste Art, dies zu tun, die Verwendung eines ternären Operators wie folgt:
<span>{{isLarge ? 'video.large' : 'video.small'}}</span>
kann etwa wie folgt verwendet werden.
<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>
Alternativ dazu können Sie auch ng-show/ng-hide
aber damit werden sowohl ein großes als auch ein kleines Videoelement gerendert und dann dasjenige ausgeblendet, das die ng-hide
Bedingung und zeigt diejenige, die die ng-show
Zustand. Auf jeder Seite werden Sie also zwei verschiedene Elemente darstellen.
4. Eine weitere Option, die in Betracht zu ziehen ist ng-class
Richtlinie.
Dies kann wie folgt verwendet werden.
<div ng-class="{large-video: video.large}">
<!-- video block goes here -->
</div>
Die obigen Ausführungen fügen grundsätzlich eine large-video
css-Klasse für das div-Element, wenn video.large
ist wahrheitsgemäß.
5. ng-if
Richtlinie:
In den oben genannten Versionen 1.1.5
können Sie die ng-if
Richtlinie. Dadurch wird das Element entfernt, wenn der angegebene Ausdruck false
und fügt wieder die element
im DOM, wenn der Ausdruck true
. Kann wie folgt verwendet werden.
<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>