如何使用一个局部变量的值替换 HandleBars 中的其他变量

How to Use the values of one local variable in replacement of other in HandleBarjs

我正面临车把问题。

我创建了两个具有语言名称的局部变量,它对应两个 Json 文件的路径。

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

我正在从 URL 检测 de 或 en 并存储到另一个局部变量调用 "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 也具有与 en 相同的值。 但它不适用于 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>

希望对您有所帮助。