Angularjs (1.1.5 이하 버전)는 if/else
기능을 제공하지 않습니다 . 다음은 달성하려는 목표에 대해 고려해야 할 몇 가지 옵션입니다.
( 버전 1.1.5 이상을 사용하는 경우 아래 업데이트 (# 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
div 요소에 CSS 클래스를 추가합니다 video.large
.
위 버전에서는 지시문을 1.1.5
사용할 수 있습니다 ng-if
. 제공된 표현식이 리턴하면 요소를 제거하고 표현식이 리턴 하면 DOM false
에를 다시 삽입 element
합니다 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>