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