如何使用一个局部变量的值替换HandleBarjs中的其他值
问题描述:
我正在面对和处理酒吧问题。如何使用一个局部变量的值替换HandleBarjs中的其他值
我已经创建了两个局部变量,语言的名称和两个Json文件的路径相对应。
app.locals.en=require('../locales/en.json');
app.locals.de=require('../locales/de.json');
我从URL检测德或连接和存储到另一个局部变量叫“郎”
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>
我希望这有助于