【问题标题】:How to Use the values of one local variable in replacement of other in HandleBarjs如何使用一个局部变量的值来替换 HandleBars js 中的另一个变量
【发布时间】:2018-01-24 13:25:00
【问题描述】:

我正面临着车把问题。

我创建了两个带有语言名称的局部变量,它对应于两个 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

一定有办法解决这个问题。请告诉我。谢谢你。

【问题讨论】:

    标签: node.js express handlebars.js keystonejs


    【解决方案1】:

    试试这个:

    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>
    

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-09-22
      • 2012-10-16
      • 1970-01-01
      • 1970-01-01
      • 2020-03-25
      • 2017-12-22
      • 2019-09-01
      • 2013-08-06
      • 1970-01-01
      相关资源
      最近更新 更多