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 に答える