java - 使用映射中的值作为 mustache 模板映射中另一个值的键

标签 java mustache handlebars.js

我正在使用jknack Handlebars 的 Java 端口。我需要创建一个 A-Z 列表。 map 的关键是字母表中的一个字母。目前,我的 mustache 模板中有 26 个:

{{#if A}}<li><a href="#a">A</a></li>{{else}}<li class="unused-letter">A</li>{{/if}}

例如,如果我可以在键“keys”下将字母数组添加到模型中,并循环遍历结果,那就太好了:

{{#keys}}
   {{#if .}}<li><a href="#a">{{.}}</a></li>{{else}}<li class="unused-letter">{{.}}</li>{{/if}}
{{/keys}}

但是,这不会检查 map 是否有与句点值匹配的键。

有没有办法将从映射中获取的值用作映射中另一个对象的键?

更新信息

看看马克的条目,我可以发现我从错误的方向解决了这个问题。如果字母没有结果,我的模型在 map 中就没有条目。但是,如果我更新我的模型,使键(字母)具有空列表,而不是根本没有键/条目,那么我可以只使用 map 上的键,而不是尝试使用另一个条目来提供可以代表所有可能键的值。

最佳答案

我不确定您的索引数据格式是什么样的,所以假设索引采用以下格式的 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>

关于java - 使用映射中的值作为 mustache 模板映射中另一个值的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21606343/

相关文章:

javascript - 为什么我的 json 没有被 Mustache 解析?

meteor - 在 Meteor 中定义 helpers 的两种方式

java - 如何修复缓慢的gradle干净版本

java - 将整数从一种方法传递到另一种方法

javax.servlet.ServletException : Wrapper cannot find servlet class

java - Horizo​​ntalScrollView 与 EditText 向右跳转

templates - 在 Mustache 中,如何获取当前部分的索引

node.js - 如何忽略带有 Mustache JS 的标签

javascript - Webpack,弄清楚在哪里将 Handlebar 助手注册到我的项目

javascript - HandlebarsJS registerHelper 用于比较两个日期