如何使用一个局部variables的值代替HandleBarjs中的其他variables

我正在面对和处理酒吧问题。

我已经创build了两个局部variables与语言的名称,并对应的两个Json文件的path。

app.locals.en=require('../locales/en.json'); app.locals.de=require('../locales/de.json'); 

我正在检测URL中的de或en并存储到另一个局部variables调用“Lang”

 app.locals.lang = "Some code that detects DE or EN from URL and Stores into lang" 

现在在Handlebrsjs我正在使用类似的东西

  <h1>{{lang.Home.TITLE}}</h1> 

上面的Lang应该给De或者它给的EN,但是它不会去Json文件,但是如果我们简单地使用

 <h1>{{en.Home.TITLE}}</h1> 

它工作正常。 我想用lang.home.title代替en.home.title,因为lang也有相同的值。 但它不适用于lang.home.title

必须有一些办法来解决这个问题。 请告诉我。 谢谢。

尝试这个:

 app.locals.data = {}; app.locals.data.en=require('../locales/en.json'); app.locals.data.de=require('../locales/de.json'); app.locals.data.lang = "Some code that detects DE or EN from URL and Stores into 

郎”

然后,您应该能够在模板中执行以下操作:

  <h1>{{data[lang].Home.TITLE}}</h1> 

我希望这有帮助。