我想从数组中检索一个特定元素,{{page.myArray}}
。
我有变量 {{my-index}}
中元素的索引,但我不能只插入 {{page.myArray.[my-index ]}}
或 {{page.myArray.[{{my-index}}]
。
我该如何去做呢?我已经尝试了 SO 和 Handlebars 文档中的一些内容,但我一生都无法想出解决方案。希望善良、慷慨的人能够向我伸出援助之手。
最佳答案
答案是否定的,因为 Handlebars 语法不允许嵌套语句。 但是,您可以编写自定义 Handlebars 助手来实现相同的目的。
将您的 JSON 结构视为,
{
"my-index": 1,
"page": {
"myArray": [
"a",
"b",
"c"
]
}
}
您的模板可以如下编写,即 helper(indexOf
) 调用本身。
{{#indexOf page.myArray my-index}}{{/indexOf}}
辅助定义是,
Handlebars.registerHelper('indexOf', function(array, value) {
return array[value];
});
这将在数组 myArray
的索引位置 1
中打印 b
作为输出。
使用 http://tryhandlebarsjs.com 进行测试.
希望这有帮助。
关于javascript - Handlebars 内变量表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49370777/