2017-08-16 16 views
1

ハンドルバーに直面して問題が発生しています。HandleBarjs内の他のローカル変数の代わりに1つのローカル変数の値を使用する方法

2つのJsonファイルのパスに対応する2つのローカル変数を言語名で作成しました。

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

私は

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

のようなものを使用していますURLからドまたはENを検出し、別のローカル変数呼び出し「ラング」Handlebrsjsで今

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

に格納しています上記のLangは、与えているDeまたはENを与えるはずですが、Jsonファイルには移動しませんが、単に使用する場合は

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

正常に動作します。 en.home.titleの代わりにlang.home.titleを使いたいのですが、langもenと同じ値を持っています。 しかし、lang.home.titleでは動作しません。

問題を解決する方法がいくつかあります。教えてください。ありがとうございました。

答えて

0

これを試してみてください:

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 

langの」

あなたは、あなたのテンプレートに次の操作を行うことができるはずです:私はこのことができます願ってい

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

関連する問題