В шаблоне Go, иногда способ передачи правильных данных в правильный шаблон мне кажется неудобным. Вызов шаблона с параметром конвейера выглядит как вызов функции только с одним параметром.Вызов шаблона с несколькими параметрами трубопровода
Предположим, у меня есть сайт для Gophers about Gophers. Он имеет основной шаблон главной страницы и шаблон утилиты для печати списка Gophers.
http://play.golang.org/p/Jivy_WPh16
Выход:
*The great GopherBook* (logged in as Dewey)
[Most popular]
>> Huey
>> Dewey
>> Louie
[Most active]
>> Huey
>> Louie
[Most recent]
>> Louie
Теперь я хочу добавить немного контекста в subtemplate: форматировать название «Дьюи» по-разному в списке потому, что это имя текущего пользователя , Но я не могу передать имя напрямую, потому что есть only one возможный контур аргумента «точка»! Что я могу сделать?
- Очевидно, что я могу скопировать-вставить код подкатегории в основной шаблон (я не хочу, потому что он полностью утрачивает интерес к тому, чтобы иметь подстроку).
- Или я могу манипулировать некоторыми глобальными переменными с помощью аксессуаров (я тоже не хочу).
- Или я могу создать новый конкретный тип структуры для каждого списка параметров шаблона (не очень).
Это приятно, спасибо. Таким образом, это мультиплексор множественных ключей/значений, например PipelineDecorator (см. Другой ответ), но с более возможными значениями в одном вызове. – Deleplace
Прежде чем я начал писать этот код, я подумал, что это станет действительно уродливым, но теперь мне это нравится, и я, вероятно, собираюсь использовать его в некоторых своих проектах. – tux21b
Я отмечаю его как принятый, так как это «современное состояние» для конвейерной обработки произвольных данных (но все же обходное решение в отношении выбора дизайна шаблонов). Вот мой весь пример, переопределенный 'dict()': http: //play.golang.org/p/oWdPlyWfvG – Deleplace