首页 > 解决方案 > 范围内的访问参数名称

问题描述

假设一个配置 toml:

[params.myList]
  item1 = "value1"
  item2 = "value2"
  item3 = "value3"
  item4 = "value4"

[params.myBadList]
  item1 = ["item1", "value1"]
  item2 = ["item2", "value2"]
  item3 = ["item3", "value3"]
  item4 = ["item4", "value4"]

我想要的是使用范围进行迭代,这样我就可以访问参数名称和值,例如

{{ range .Site.Params.myList }}
  {{ .ParamName }} is {{ . }} <br>
{{ end }}

如何访问范围内的当前参数名称?以下工作,但需要烦人的冗余。

{{ range .Site.Params.myBadList }}
  {{ index . 0 }} is {{ index . 1 }} <br>
{{ end }}

标签: hugo

解决方案


您可以根据Introrange为索引/键及其值 声明变量名称

{{ range $key, $value := $.Site.Params.myList }}
  {{ $key }}, {{ $value }}<br>
{{ end }}

推荐阅读