2016-11-25 8 views
-2

Я отправляю ломтик articles в шаблон. Каждая article структуры подобно:Как получить поле по индексу в шаблоне?

type Article struct { 
    ID  uint32  `db:"id" bson:"id,omitempty"` 
    Content string  `db:"content" bson:"content"` 
    Author string  `db:"author" bson:"author"` 
    ... 
} 

Я могу перебирает articles ломтика в {{range $n := articles}} и получить каждый {{$n.Content}}, но то, что я хочу, чтобы иметь только первый (вне контура диапазона) для использования в заголовке. То, что я попытался это:

{{index .articles.Content 0}} 

Но я получаю:

Template File Error: template: articles_list.tmpl:14:33: executing "content" at <.articles.Content>: can't evaluate field Content in type interface {}

Если я просто призываю

{{index .articles 0}} 

Он показывает всю статью [0] объекта.

Как это исправить?

ответ

4

Доступ индексная функция п-й элемент заданного массива, так что написание

{{ index .articles.Content 0 }}

, по существу, пытается написать articles.Content[0]

Вы хотели бы что-то похожее на

{{ with $n := index .articles 0 }}{{ $n.Content }}{{ end }}

+0

Да, это решило проблему. Хотя я хотел, чтобы был менее верный способ сделать это ... – Karlom

 Смежные вопросы

  • Нет связанных вопросов^_^