Javascript 如何访问Handlebar模板中if语句中的数据
我向handlebar(版本1.0.0-rc.3)模板传递了两个变量,一个是json,另一个是包含站点当前语言的字符串Javascript 如何访问Handlebar模板中if语句中的数据,javascript,handlebars.js,template-engine,Javascript,Handlebars.js,Template Engine,我向handlebar(版本1.0.0-rc.3)模板传递了两个变量,一个是json,另一个是包含站点当前语言的字符串 self.template = template({ data: self.model, lang:self.lang }); 然后在模板文件中,我有以下结构: {{#each data}} //this is working {{../lang}} {{#if this.title}} {{this.de
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语句中的lang值。我做错了什么?我通过创建车把辅助功能找到了解决方案: Handlebar.registerHelper('language',function()){ return self.lang;}) 然后在模板中我可以使用{{language}}
我想去哪里就去哪里。我知道你已经通过解决方法解决了你的问题,但是注册一个助手来使用本机方式很麻烦 问题是,每个帮助器都会覆盖上下文,并将新的一个嵌套在父帮助器中,因此您必须更进一步,就像UNIX那样的目录 因此,要访问
each->if
中的lang,必须使用:
{{ ../../lang }}
检查我为您提供的解决方案,看看是否比注册助手更适合您。