0

我有这个模板可以将切片的多个项目解析到页面上。它确实做得很好。

但是,我现在想使用相同的模板来解析切片的单个值,基于范围索引。切片用于多个文件,所以我不能像 Slice[1:2] 一样执行它

{{ $bpi := .Index}}

{{ range $i, $elmt := .Slice }}
    {{ if $bpi.Equals $i }}
      <div>{{ .SliceContent }}</div>
    {{ end }}
{{ end }}

根据我的阅读,该模板不适用于计算,但如果您在 html/template 包中有范围索引和 if 语句,在我看来,我一定是做错了什么。我当然可以写一个 FuncMap,没问题。但考虑到这些事实,我似乎不合适。

4

1 回答 1

0

我正在使用类似的东西有条件地包含默认图像或提供的图片切片中的第一个图像。所以我认为这将为你提供做你想做的事情的基础。我检查切片是否有值,使用 {{index .Slice n}} 语法拉出第 N 个项目,如下所示:

     {{ $idx := 2}}
     {{if .Pictures}}
       <img src="{{if .Pictures}}{{index .Pictures $idx}}{{end}}" alt="supplied first picture">
     {{else}}
       <img src="http://fpoimg.com/200x200?text=Placeholder(FPOimg.com)" alt="default picture">
     {{end}}

因此,您可以执行以下操作:

    {{ $bpi := .Index}}

    {{ if .Slice }}
        {{ index .Slice $bpi }}
    {{ end }}
于 2013-09-06T04:13:33.040 回答