Handlebars模板 - 在if语句中呈现数据

时间:2013-04-13 22:49:28

标签: javascript handlebars.js template-engine

对于把手(版本1.0.0-rc.3)模板,我传递了两个变量,一个是json,另一个是包含现场语言的字符串。

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

然后在我的模板文件中,我遇到了在if语句中显示lang变量的问题。所以我的模板结构如下:

 {{#each data}}    
     {{#if this.title}} 
          ...some html...
           <a class='links' href="{{../lang}}/work/{{this.id}}">View Project</a> 
          ...some html...
      {{/if}}
 {{/each}}

我无法仅在if语句中访问lang变量,并且正在正确显示外部... 请指教......

1 个答案:

答案 0 :(得分:0)

我通过创建一个把手辅助函数找到了解决方案:

Handlebars.registerHelper( 'language'
                           , function() {
                                return self.lang;           
                             });

然后在模板中,我可以在需要的地方使用{{language}}