2014-03-14 3 views
0

초보자이며 국가 값 스타일 번호에 따라 다른 국가 주소 형식을 표시하기 위해 handlebars.js을 사용하는 기본 테스트 페이지를 만들었습니다.handlebars.js - if 문을 선언하십시오.

{{# if address_country_style_type_value_is_4 }} 

     {{! Country Name: Algeria }} 
     {{! Index Value: 4 }} 
     {{! Address Style: 2 }} 

     {{# if address_line_1 }} 
      {{{ address_line_1 }}}<br /> 
     {{/if}} 
     {{# if address_street_details }} 
      {{ address_street_details }}<br /> 
     {{/if}} 
     {{# if address_postal_code }} 
      {{ address_postal_code }}&nbsp; 
     {{/if}} 
     {{# if address_locality }} 
      {{ address_locality }} 
     {{/if}} 
     {{# if address_country_name }} 
      <br />{{ address_country_name }} 
     {{/if}} 

    {{/if}} 

    {{# if address_country_style_type_value_is_5 }} 

     {{! Country Name: American Samoa }} 
     {{! Index Value: 5 }} 
     {{! Address Style: 7 }} 

     {{# if address_line_1 }} 
      {{{ address_line_1 }}}<br /> 
     {{/if}} 
     {{# if address_street_details }} 
      {{ address_street_details }}<br /> 
     {{/if}} 
     {{# if address_locality }} 
      {{ address_locality }}&nbsp; 
     {{/if}} 
     {{# if address_region }} 
      {{ address_region }}&nbsp; 
     {{/if}} 
     {{# if address_postal_code }} 
      {{ address_postal_code }} 
     {{/if}} 
     {{# if address_country_name }} 
      <br />{{ address_country_name }} 
     {{/if}} 

    {{/if}} 

사용자가 address_country_style_type_value_is_4를 선택하고, 주소 스타일 # 2가 표시됩니다 여기에

내가 현재 가지고있는 코드 조각이다. 주소 스타일 # 2의 코드는 내 코드 전체에 걸쳐 여러 번 반복됩니다. 동일한 코드를 반복해서 반복하는 것은 좋지 않습니다.

제 질문은 어떻게하면 주소 스타일 # 2를 한 번 작성한 다음 필요할 때마다 여러 번 호출하도록 핸들 막대 코드를 작성합니까? 선언하고 다음 {{# 경우 address_country_style_type_value_is_4}} 문 안쪽에 내용을 문의

.


switch(address_country_style_type) { 
case 4: 
    address = [ 
    address_line_1, 
    address_street_details, 
    address_postal_code + '&nbsp;' + address_locality, 
    address_country_name 
    ]; 
    break; 
case 5: 
    address = [ 
    address_line_1, 
    address_street_details, 
    address_locality + '&nbsp;' + address_region + '&nbsp;' + address_postal_code, 
    address_country_name 
    ]; 
    break; 
} 

을 그리고 단지 주소에 어떤 렌더링 :

답변

0

대신 템플릿에 주위의 형식을 변경, 당신은 자바 스크립트에서 변경할 수있는에, 물론

 
{{#each address}} 
    {{this}}<br> 
{{/each}} 

사전에 모든 것을 address.join('<br>')과 결합한 다음 {{{address}}}을 렌더링 할 수 있습니다.

+0

당신이 제안 할 때 - address.join ('
') - 그게 문자열 작성 기능이 될까요? 그게 무슨 뜻입니까? – user1261774

+0

템플릿에서'{{#each address}} {{this}} {{/ each}}'를 사용하는 대신 Javascript 파일에 한 줄 더 추가 할 수 있습니다 :'address.join ('
')'및 '{{{address}}}'만 템플릿에 넣으십시오. – harbichidian