Handlebars JS:使用动态键评估表达式
Handlbars JS : evaluating expression with dynamic keys
我有以下反对意见
myObject = {
id:1234,
name_1234:"abc"
}
使用 handlebars JS 我正在尝试使用动态键评估表达式,例如,id 是动态生成的,因此键将动态更改
因此下面的表达式
{{"myObject.name_"+myObject.id}}
应该return输出“abc”。
在车把 JS 中可以实现这样的功能吗?
您可以通过括号访问对象属性,就像您可以通过索引访问数组值一样。试试这个:
{{myObject["name_" + myObject.id]}}
Handlebars 不允许您使用 +
运算符连接模板中的字符串。您将需要创建一个 Helper 来执行此操作。一旦你有了它,你可以将它与 lookup helper using a subexpression 结合起来执行查找:
Handlebars.registerHelper('concat', function (...args) {
return args.slice(0, -1).join('');
});
{{lookup myObject (concat "name_" myObject.id)}}
我创建了一个fiddle供您参考。
我有以下反对意见
myObject = {
id:1234,
name_1234:"abc"
}
使用 handlebars JS 我正在尝试使用动态键评估表达式,例如,id 是动态生成的,因此键将动态更改
因此下面的表达式
{{"myObject.name_"+myObject.id}}
应该return输出“abc”。
在车把 JS 中可以实现这样的功能吗?
您可以通过括号访问对象属性,就像您可以通过索引访问数组值一样。试试这个:
{{myObject["name_" + myObject.id]}}
Handlebars 不允许您使用 +
运算符连接模板中的字符串。您将需要创建一个 Helper 来执行此操作。一旦你有了它,你可以将它与 lookup helper using a subexpression 结合起来执行查找:
Handlebars.registerHelper('concat', function (...args) {
return args.slice(0, -1).join('');
});
{{lookup myObject (concat "name_" myObject.id)}}
我创建了一个fiddle供您参考。