我正在使用jknack java车把的端口。我需要创建一个A-Z列表。地图的关键是字母的字母。目前,我在胡须模板中有26个:
{{#if A}}<li><a href="#a">A</a></li>{{else}}<li class="unused-letter">A</li>{{/if}}
例如,我可以在键"键"下将字母数组添加到模型中,并通过结果循环:
{{#keys}}
{{#if .}}<li><a href="#a">{{.}}</a></li>{{else}}<li class="unused-letter">{{.}}</li>{{/if}}
{{/keys}}
但是,这没有检查地图是否具有与周期值相匹配的密钥。
是否有一种使用从地图获得的值作为地图中另一个对象的键的方法?
更新的信息
看马克的条目,我可以看到我正在从错误的方向上解决问题。如果一个字母没有结果,我的模型在地图中没有条目。但是,如果我更新模型,以便键(字母)具有空列表,而不是根本没有键/条目,那么我可以使用地图上的键,而不是尝试使用另一个条目来提供可以代表所有内容的值可能的键。
我不确定您的索引数据格式是什么样的,所以想象一下索引以这种格式出现在JSON中:
{
"items":[
{
"A":[]
},
{
"B":[
"dummy",
"dummy",
"dummy"
]
},
{
"C":[]
},
{
"D":[
"dummy",
"dummy",
"dummy"
]
},
{
"E":[]
},
{
"F":[
"dummy",
"dummy",
"dummy"
]
}
]
}
现在通过显示二手/未使用的索引将需要一个模板,例如:
<ul>
{{#items}}
{{#each .}}
{{#if .}}
<li><a href="#{{@key}}">{{@key}}</a></li>
{{else}}
<li class="unused-letter">{{@key}}</li>
{{/if}}
{{/each}}
{{/items}}
</ul>
对于上述示例数据将导致:
<ul>
<li class="unused-letter">A</li>
<li><a href="#B">B</a></li>
<li class="unused-letter">C</li>
<li><a href="#D">D</a></li>
<li class="unused-letter">E</li>
<li><a href="#F">F</a></li>
</ul>