簡體   English   中英

使用地圖中的值作為小胡子模板地圖中另一個值的鍵

[英]Using the value from a map as a key to another value in the map of a mustache template

我正在使用Handlebars的jknack Java端口。 我需要創建一個AZ列表。 地圖的關鍵是字母。 目前,我在胡子模板中有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}}

但是,這不會檢查地圖是否具有與期間值匹配的鍵。

有沒有辦法使用從地圖獲得的值作為地圖中另一個對象的鍵?

更新信息

查看Mark的文章,我可以發現我是從錯誤的方向解決問題的。 如果字母沒有結果,則我的模型在地圖中沒有條目。 但是,如果我更新模型以使一個鍵(字母)具有一個空列表而不是根本沒有鍵/條目,那么我可以只使用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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM