gpt4 book ai didi

javascript - Handlebars 引用同一行中的两个单独的对象

转载 作者:行者123 更新时间:2023-12-03 08:21:08 25 4
gpt4 key购买 nike

我有一个名为Locations的查找对象:

{
'CA:' 'California',
'NV': 'Nevada',
'FL': 'Florida',
...
}

和地址数组:

[
{street:'123 place', state:'FL', ...}
]

是否可以在 Handlebars 模板标记中引用查找的输出?

我尝试过类似的事情

{{#each addresses}}
{{Lookup[this.state]}}
{{/each}}

但是我收到一个错误。所以我可能引用了错误的查找。

最佳答案

lookup 辅助函数除了采用小写形式(不是“Lookup”)之外,还采用两个用空格分隔的参数。第一个参数是要在其中进行查找的对象(或数组)的路径,第二个参数是要使用的键。因此,在您的情况下,您可能需要 {{lookup ../locations this.state}}。这是一个片段:

var source =
'{{#each addresses}}' +
'<li>{{lookup ../locations this.state}}</li>' +
'{{/each}}';

var template = Handlebars.compile(source);

var data = {
locations: {
'CA': 'California',
'NV': 'Nevada',
'FL': 'Florida',
// ...
},
addresses: [
{ street: '123 Place', state: 'FL' },
{ street: '456 Other', state: 'NV' },
{ street: '789 Last', state: 'CA' },
// ...
]
};

document.getElementById('list').innerHTML = template(data);
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.4/handlebars.js"></script>
<ul id="list"/>

关于javascript - Handlebars 引用同一行中的两个单独的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33742784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com