Обработка циклов
Циклы используются для повторяющегося рендера данных из массивов или объектов: в шаблоне задаются маркеры начала и конца области цикла. Ниже приведены несколько типовых сценариев.
Итерация по массивам
1. Описание синтаксиса
- Используйте
{d.array[i].property}для текущего элемента цикла и{d.array[i+1].property}для следующего элемента — так задаётся область цикла. - Внутри цикла первая строка (часть с
[i]) автоматически используется как шаблон повторения; вам достаточно описать пример цикла один раз.
Формат синтаксиса:
2. Пример: простой цикл по массиву
Данные
Шаблон
Результат
3. Пример: вложенный цикл по массиву
Подходит для случаев, когда массив содержит вложенные массивы; уровень вложенности может быть любым.
Данные
Шаблон
Результат
4. Пример: двунаправленный цикл (продвинутая возможность, v4.8.0+)
Двунаправленные циклы позволяют одновременно итерироваться и по строкам, и по столбцам. Это подходит для генерации сравнительных таблиц и других сложных макетов (примечание: сейчас некоторые форматы официально поддерживаются только для шаблонов DOCX, HTML и MD).
Данные
Шаблон
Результат
5. Пример: доступ к значениям итератора цикла (v4.0.0+)
Внутри цикла можно напрямую получить индекс текущей итерации — это помогает решать нестандартные задачи форматирования.
Пример шаблона
Примечание: количество точек указывает уровень индекса (например,
.i— текущий уровень,..i— предыдущий). Сейчас есть проблема с обратным порядком; подробности смотрите в официальной документации.
Итерация по объектам
1. Описание синтаксиса
- Для свойств объекта используйте
.attдля имени свойства и.valдля значения свойства. - При итерации свойства обходятся по одному.
Формат синтаксиса:
2. Пример: итерация по свойствам объекта
Данные
Шаблон
Результат
Сортировка
С помощью сортировки можно прямо в шаблоне отсортировать данные массива.
1. Описание синтаксиса: сортировка по возрастанию
- Укажите атрибут как критерий сортировки в теге цикла. Формат синтаксиса:
- Для нескольких критериев сортировки перечислите атрибуты через запятую внутри скобок.
2. Пример: сортировка по числовому атрибуту
Данные
Шаблон
Результат
3. Пример: сортировка по нескольким атрибутам
Данные
Шаблон
Результат
Фильтрация
Фильтрация используется, чтобы исключать строки в цикле по заданным условиям.
1. Описание синтаксиса: числовая фильтрация
- Добавьте условия в тег цикла (например,
age > 19). Формат синтаксиса:
2. Пример: числовая фильтрация
Данные
Шаблон
Результат
3. Описание синтаксиса: строковая фильтрация
- Указывайте строковые условия в одинарных кавычках. Например:
4. Пример: строковая фильтрация
Данные
Шаблон
Результат
5. Описание синтаксиса: оставить первые N элементов
- Можно использовать индекс цикла
i, чтобы отфильтровать первые N элементов. Например:

