如何使用一个局部变量的值替换 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>
希望对您有所帮助。
我正面临车把问题。
我创建了两个具有语言名称的局部变量,它对应两个 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>
希望对您有所帮助。