2013-09-05 4 views
0

У меня есть этот шаблон, который анализирует несколько элементов фрагмента на странице. Это действительно хорошо.html/template if index index

Однако теперь я хочу использовать тот же шаблон для синтаксического анализа одного значения среза на основе индекса диапазона. Срез используется в нескольких файлах, так что я не могу просто .Execute его как фрагмент [1: 2]

{{ $bpi := .Index}} 

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

Из того, что я прочитал, что шаблон не Мент для вычисления, но если вы У меня есть индекс диапазона и if-statements в пакете html/template, мне кажется, что я должен делать что-то неправильно. Я могу написать FuncMap, конечно, проблем. Но мне это не кажется правильным, учитывая эти факты.

+0

просто интересно, не так ли решить вашу проблему? – miltonb

+0

Я еще не пробовал, но буду. Я не забыл об этом. Просто у меня очень напряженное время с другими проектами, например, 24/7 занято. Я думаю, что на следующей неделе я могу снова погрузиться в Go. Спасибо за ответ, было бы чище, если бы я решил это так. Увидимся на следующей неделе! – Dani

ответ

0

Я использую что-то подобное, чтобы условно включить изображение по умолчанию или первое из предоставленного фрагмента изображений. Поэтому я думаю, что это предоставит вам основу для того, чтобы делать то, что вы хотите. Я проверяю срез имеет значения, потянув Nth элемент с помощью {{индекс .Slice п}} синтаксис выглядит следующим образом:

 {{ $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 }}