Когда нужно передавать данные в шаблон и когда вызывать функцию? - PullRequest
0 голосов
/ 15 ноября 2018

Когда функции передаются в шаблон через Funcs , их можно вызывать непосредственно в шаблоне.Данные также могут передаваться через Выполнить .

До сих пор я передавал общие данные в шаблон и вызывал функции только тогда, когда, например, мне нужно было отформатировать Time или некоторую строку.См. Ниже.

Объединение обоих:

{{range .AssignedTickets}}
  <p>FormatDate .Date</p>
  <p>{{FormatEditorName .EditorID}}</p>
{{end}}

В основном используются функции, при условии, что в качестве данных были переданы только EditorID:

{{$assignedTickets := GetAssignedTickets .EditorID}}
{{range $assignedTickets}}
  <p>FormatDate .Date</p>
  <p>{{FormatEditorName .EditorID}}</p>
{{end}}

Когда я долженпередать данные и когда я должен вызвать функцию?Существуют ли причины производительности, чтобы избежать одной из них (я думаю, мне следует избегать вызова функций внутри шаблона?)

1 Ответ

0 голосов
/ 15 ноября 2018

Большое преимущество передаваемых данных: оно постоянно.Если вы вызываете функцию дважды (например, текущую дату), она может вернуть два разных значения (например, если один вызов произошел непосредственно до полуночи, а другой - после полуночи).Кроме того: Функции, которые могут не работать, лучше всего обрабатывать вне шаблона.

Вызов функций форматирования (логика отображения): да, поскольку эти функции являются детерминированными и не дают сбоев.Вызов бизнес-логики: №

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...