2013-04-13 26 views
1

對於handlebars(版本1.0.0-rc.3)模板,我傳遞了兩個變量,一個是json,另一個是包含當前語言的字符串。如何訪問Handlebars模板中的if語句中的數據

self.template = template({ data: self.model, lang:self.lang }); 

然後在模板文件中,我有以下結構:

{{#each data}} 
    //this is working 
    {{../lang}} 
     {{#if this.title}} 
     {{this.desc}} 
     //i've tried this 
     {{../lang}} 
     //and this 
     {{lang}} 
     {{/if}} 
    {{/each}} 

...但我無法訪問if語句裏面的郎值。我究竟做錯了什麼?

回答

0

我已經通過創建一個車把輔助函數找到一個解決方案:

Handlebars.registerHelper( '語言',函數(){ 回報self.lang;});

然後在模板中我可以使用{{language}} 哪裏有我想要的。

+0

檢查我提供您的解決方案,看是否適合你不是註冊一個幫手更好。 – diosney

2

我知道你已經用解決方法解決了你的問題,但註冊助手因爲採用本地方式很麻煩。

的一點是,每個Handlebars幫手覆蓋的背景和巢父一個內部的新的,所以你必須進一步上去uone一步,像UNIX像目錄。

因此,訪問郎的each->if你必須使用內:

{{ ../../lang }}