2014-03-07 56 views
0

我想使用,如果然後其他人在HBBS文件,如果{{NumLikes}}大於0然後第一圖像其他第二圖像,所以我可以如何使用如果其他人在使用backbone.js的hbs模板文件中。 我使用handelsbar作爲模板。我如何使用,如果然後其他在HBE骨幹模板文件,即時通訊使用handelsbar模板

<div> 
     < div class="comm-tab-row"> 
      <div class="post-left-panel"> 
       <div class="post-image-container"> 
       <img src="{{UserImageURL}}" alt="" class="post-image" /></br>  
       <% if ({{NumLikes}} = 0) { %> 
        <img src="images/myCommunity/[email protected]" width="20" height="19" id="like-btn" name = "like-Button" >    
       <% } else { %> 
        <img src="images/myCommunity/[email protected]" width="20" height="19" id="like-btn" name = "like-Button" > 
       <% } %>    
       ({{NumLikes}})   
       </div> 
      </div>  
      <div class="post-body"> 
       <h5 class="comm-tab-heading"> 
        <span class="navigate-screen" id="{{Id}}" style="text-decoration:underline;"> 
         {{UserName}} 
        </span> 
        <span> 
         - &nbsp; 
        </span> 
        <span> 
         {{format_date Time ""}} 
        </span> 
       </h5> 
       {{Message}} 
       </div> 
       <div class="comm-right-panel"> 
       <a href="javascript:void(0);" class="btn-follow" name = "follow-button">FOLLOW</a> 
        <a href="javascript:void(0);" class="btn-comment" name = "comment-button">{{NumComments}} - COMMENT</a> 
      </div> 
      </div> 

     </div> 
    </div> 
+0

感謝馬赫什。但現在我收到這個錯誤。錯誤:ifCond不匹配,如果 var tmp = Error.prototype.constructor.apply(this,arguments); – Khalil

回答

0

你需要寫如下的幫手,因爲一個值進行比較不是直接由車把支持。

Handlebars.registerHelper('ifCond', function(v1,options) { 
    if(v1 == 0) { 
    return options.fn(this); 
    } 
    return options.inverse(this); 
}); 

而在你的車把模板,您需要使用它,如下

<div class="post-left-panel"> 
    <div class="post-image-container"> 
    <img src="{{UserImageURL}}" alt="" class="post-image" /></br>  
    {{#ifCond NumLikes}} 
     <img src="images/myCommunity/[email protected]" width="20" height="19" id="like-btn" name = "like-Button" > 
    {{else}} 
     <img src="images/myCommunity/[email protected]" width="20" height="19" id="like-btn" name = "like-Button" > 
    {{/if}} 
    ({{NumLikes}})   
    </div> 
</div> 
1

你並不需要爲這個定製的幫手,標準{{#if}}會做一個零正確的事情。例如,這個模板:

<script id="t" type="text/x-handlebars"> 
    {{#if a}}a{{else}}!a{{/if}}<br> 
    {{#if b}}b{{else}}!b{{/if}}<br> 
</script> 

和驗證碼:

var t = Handlebars.compile($('#t').html()); 
$('body').append(t({ 
    a: 0, 
    b: 1 
})); 

會給你!ab作爲輸出。演示:http://jsfiddle.net/ambiguous/tUAyZ/

您的模板應該這樣說:

{{#if NumLikes}} 
    <img src="images/myCommunity/[email protected]" width="20" height="19" id="like-btn" name = "like-Button" >    
{{else}} 
    <img src="images/myCommunity/[email protected]" width="20" height="19" id="like-btn" name = "like-Button" > 
{{/if}}