2013-09-05 88 views
0

我已經有了這個模板,可以將一個切片的多個項目分析到頁面上。它確實很好。html/template如果範圍索引子句

但是,我現在想要使用完全相同的模板來根據範圍索引解析切片的單個值。切片用於在多個文件中,所以我不能只是.Execute它像切片[1:2]

{{ $bpi := .Index}} 

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

從我讀過的是,模板不包換進行計算,但如果你在html/template包中有範圍索引和if語句,在我看來,我一定是做錯了。我可以寫一個FuncMap的課程,沒問題。但鑑於這些事實,我認爲這不太合適。

+0

只是好奇,你有沒有解決你的問題? – miltonb

+0

我還沒有試過,但我會。我沒有忘記它。這只是我與其他項目非常忙碌,例如24/7忙碌。我想下週我可以再次潛入Go。感謝您的迴應,如果我像這樣解決問題,它會更清潔。下週見! – Dani

回答

0

我正在使用這樣的事情來有條件地包含一個默認圖像或從提供的切片圖片中的第一個。所以我認爲這會爲你提供做你想做的事情的基礎。我檢查該片是否值,使用{{指數.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 }}