tgx:swap — Задает стратегию замены HTML после ответа
tgx:swap#
Задает стратегию замены HTML после ответа.
Синтаксис#
<button tgx:ajax-get="/api/v1/domain/status" tgx:target="#result" tgx:swap="#result:innerHTML">Проверить</button>
Пример 1: минимум (копипаст для старта)#
<button tgx:ajax-get="/api/v1/domain/status" tgx:target="#result" tgx:swap="#result:innerHTML">Проверить</button>
Пример 2: реальный сценарий#
<button tgx:ajax-get="/api/v1/notification/transfers" tgx:target="#bell" tgx:swap="#bell:outerHTML">Обновить уведомления</button>
<div id="bell"></div>
Разбор#
Формат:селектор:режим или только режим. Для нескольких узлов: #summary:outerHTML, #list:innerHTML. Работает в связке с tgx:target и ajax-директивой.
Когда использовать#
- Когда нужно обновлять часть страницы без полной перезагрузки (формы, фильтры, списки, таблицы).
- Когда нужно контролировать UX запроса: куда вставить ответ, по какому событию отправить и как обработать подтверждение.
Поведение в runtime#
- Тип: пользовательская директива.
- В sandbox директива
tgx:swap: запрещена. - Это HTMX-мост: runtime маппит
tgx:в соответствующиеdata-hx-атрибуты.
Типы данных и приведение#
- Формат значения:
селектор:режим(например#result:innerHTML) или только режим (innerHTML,outerHTML). - Для нескольких целей используйте список через запятую:
#summary:outerHTML, #list:innerHTML. - В текущем runtime поддерживаются только режимы
innerHTMLиouterHTML. - Если режим не распознан, используется
innerHTML. - Если
tgx:swapне задан, применяется стандартная замена целевого узла (innerHTML).
Частые ошибки#
- Для
tgx:swapиспользуйте форматселектор:режим; запись через запятую внутри одной пары (#id,innerHTML) невалидна как одиночная пара. - Проверьте, что селектор реально существует на странице в момент ответа.
- Не смешивайте несовместимые стратегии swap для одного и того же узла.
Проверка перед публикацией#
- Пример корректно отрабатывает в рабочем шаблоне/тестовой странице проекта.
- Значения по умолчанию обработаны (
|fallback) там, где данные могут отсутствовать. - Каждая пара записана в формате
селектор:режим(например#result:innerHTML). - Для списка пар используется запятая между парами (
#a:outerHTML, #b:innerHTML), а не внутри одной пары. - Проверены режимы
innerHTML/outerHTMLна реальном ответе API.
См. также#
Связанные статьи
tgx:swap — Задает стратегию замены HTML после ответа
tgx:swap#
Задает стратегию замены HTML после ответа.
Синтаксис#
<button tgx:ajax-get="/api/v1/domain/status" tgx:target="#result" tgx:swap="#result:innerHTML">Проверить</button>
Пример 1: минимум (копипаст для старта)#
<button tgx:ajax-get="/api/v1/domain/status" tgx:target="#result" tgx:swap="#result:innerHTML">Проверить</button>
Пример 2: реальный сценарий#
<button tgx:ajax-get="/api/v1/notification/transfers" tgx:target="#bell" tgx:swap="#bell:outerHTML">Обновить уведомления</button>
<div id="bell"></div>
Разбор#
Формат:селектор:режим или только режим. Для нескольких узлов: #summary:outerHTML, #list:innerHTML. Работает в связке с tgx:target и ajax-директивой.
Когда использовать#
- Когда нужно обновлять часть страницы без полной перезагрузки (формы, фильтры, списки, таблицы).
- Когда нужно контролировать UX запроса: куда вставить ответ, по какому событию отправить и как обработать подтверждение.
Поведение в runtime#
- Тип: пользовательская директива.
- В sandbox директива
tgx:swap: запрещена. - Это HTMX-мост: runtime маппит
tgx:в соответствующиеdata-hx-атрибуты.
Типы данных и приведение#
- Формат значения:
селектор:режим(например#result:innerHTML) или только режим (innerHTML,outerHTML). - Для нескольких целей используйте список через запятую:
#summary:outerHTML, #list:innerHTML. - В текущем runtime поддерживаются только режимы
innerHTMLиouterHTML. - Если режим не распознан, используется
innerHTML. - Если
tgx:swapне задан, применяется стандартная замена целевого узла (innerHTML).
Частые ошибки#
- Для
tgx:swapиспользуйте форматселектор:режим; запись через запятую внутри одной пары (#id,innerHTML) невалидна как одиночная пара. - Проверьте, что селектор реально существует на странице в момент ответа.
- Не смешивайте несовместимые стратегии swap для одного и того же узла.
Проверка перед публикацией#
- Пример корректно отрабатывает в рабочем шаблоне/тестовой странице проекта.
- Значения по умолчанию обработаны (
|fallback) там, где данные могут отсутствовать. - Каждая пара записана в формате
селектор:режим(например#result:innerHTML). - Для списка пар используется запятая между парами (
#a:outerHTML, #b:innerHTML), а не внутри одной пары. - Проверены режимы
innerHTML/outerHTMLна реальном ответе API.