기본 콘텐츠로 건너뛰기

모바일을 생각하며 블로그 제작하기, Switch를 사용하는 경우, 표현식을 사용하는 경우

Switch를 사용하는 경우
여러 b:elseif 태그가 있는 b:if 태그를 사용하는 것처럼 b:switch 태그를 사용할 수 있습니다. Switch 분기의 장점은 변수 이름을 반복할 필요가 없다는 것입니다. 각 케이스에 정의된 것과 기본 케이스를 쉽게 읽을 수 있습니다. 

형식

<b:switch var='[Data expression]'>
<b:case value="[Value 1]" />
 [var의 평가 값이 Value 1과 같으면 출력합니다.]
<b:case value="[Value 2]" />
 [var의 평가 값이 Value 2와 같으면 출력합니다.]
[… 기타 다른 값]
<b:default />
 [var의 평가 값이 b:case에 지정된 값과 같지 않으면 출력합니다.]
</b:switch>

이 예는 렌더링되는 페이지 유형에 따라 다른 헤더를 출력하는 방법을 보여줍니다.
<b:switch var='data:blog.pageType'>
<b:case value="static_page" />
  <h1>페이지</h1>
<b:case value="item" />
  <h1>게시물</h1>
<b:default />
  <h2>블로그 게시물</h2>
</b:switch>



표현식을 사용하는 경우

expr 속성을 사용해 데이터 사전의 값에 따라 속성 값을 설정할 수 있습니다. 

  • <a expr:href='data:blog.homepageUrl'>홈</a>
    블로그 홈페이지 URL이 설정된 홈 링크입니다.
  • <a expr:href='data:blog.homepageUrl + "feeds/posts/default"'>게시물 RSS</a>
    블로그 게시물의 RSS 피드 URL이 설정된 링크입니다. ‘+' 연산자는 2개 문자열을 연결합니다.
  • <a expr:class='data:post.allowComments ? "comment" : "no-comment">댓글</a>
    댓글이 허용되는 경우 'comment' 클래스, 허용되지 않는 경우 'no-comment'로 설정된 링크입니다. 3항 연산자(?:)는 특정 부울 값을 취한 후 부울 값이 참이면 ? 다음의 첫 번째 값을 선택하고 부울 값이 거짓이면 : 다음에 있는 두 번째 값을 선택합니다.

댓글