2014-11-05 3 views
0

일요일이 0 인 요일을 작업 중입니다. 일부 범위는 월요일 - 일요일 (일 : 1, 마지막 : 0)부터 시작하므로 하루 대신 범위를 표시해야합니다. 단 하나의 날짜 만받습니다. 마지막 == 0인지 어떻게 평가합니까?핸들 막대에서 0을 평가합니다.

{{#if last}} 
    <span>{{day day}} - {{day last}}</span> 
{{else}} 
    <span>{{day day}}</span> 
{{/if}} 

답변

1

는 어떻게하면 마지막 == 0을 평가합니까?

당신이 특정 값을 테스트 할 수있는 도우미를 정의 할 수 있습니다 null이 될 수 있습니다로 #unless 도우미가 falsy 값과 같은 0

//returns true if last is a falsy 
{{#unless last}} 
    <span>{{day day}} - {{day last}}</span> 
{{else}} 
    <span>{{day day}}</span> 
{{/unless}} 

에 true를 돌려 것, 여기에 내가 일반적으로 사용 하나 내가 truthy 또는 falsy

var data = [ 
 
    { 
 
    day: 1, 
 
    last: null 
 
    }, 
 
    { 
 
    day: 2, 
 
    last: 1 
 
    }, 
 
    { 
 
    day: 3, 
 
    last: 0 
 
    } 
 

 
]; 
 

 
var source = $("#entry-template").html(); 
 

 

 
Handlebars.registerHelper('gte', function(target, condition, options) { 
 
    if (target >= condition) { 
 
    return options.fn(this); 
 
    } else { 
 
    return options.inverse(this); 
 
    } 
 
}); 
 
var tempalte = Handlebars.compile(source); 
 

 
$("body").append(tempalte(data));
<script src="http://cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.3.0/handlebars.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script id="entry-template" type="text/x-handlebars-template"> 
 
{{!-- as suggested by @undeletable --}} 
 
{{#each this}}<span>{{day}} {{#gte last 0}} - {{last}} {{/gte}} </span><br/>{{/each}} 
 
</script>

+1

내 위의 템플릿 일부 논리를하고자 할 때 하시다 ' {{day day}} {{last day}} {{last day}} {{/ unless}}' – undeletable

+0

@undeletable 더 똑똑하다. – Quince

+0

그러나이 도우미를 사용하면 'last'가 다른 거짓 값과 같은 경우 올바르지 않습니다. – undeletable

관련 문제