编程语言
首页 > 编程语言> > javascript-如何评估Handlebars表达式内?

javascript-如何评估Handlebars表达式内?

作者:互联网

我有一个返回以下内容的骨干模型:

{
    language: "us",
    us: {
        title: "Gigs",
        subtitle: "Stay tune to my upcoming gigs"
    },
    br: {
        title: "Shows",
        subtitle: "Fique ligado na minha agenda"
    }
}

语言是动态更新的,因此它将使用车把确定我要打印的对象.通常我会这样做:

<h1>{{title}}</h1>
<h2>{{subtitle}}</h2>

但是我需要做一些concat:

<h1>{{language.title}}</h1>
<h2>{{language.subtitle}}</h2>

当然这是行不通的.这是我的问题:如何使表达式动态连接?

因此,如果语言是“我们”,它将调用:

<h1>{{us.language.title}}</h1>
<h2>{{us.language.subtitle}}</h2>

如果是“ br”,它将调用:

<h1>{{br.language.title}}</h1>
<h2>{{br.language.subtitle}}</h2>

解决方法:

从执行和良好设计的角度来看,最好的方法之一可能是在模型上具有功能

model.currentLanguage = () => model[model.language]

然后您可以在视图中使用它

<h1>{{currentLanguage().title}}</h1>
<h2>{{currentLanguage().subtitle}}</h2>

标签:backbone-model,handlebars-js,backbone-js,javascript
来源: https://codeday.me/bug/20191026/1932775.html