Составной компонент в макете
Составной Smart-компонент объединяет несколько Smart-компонентов в один сценарий (см. Определение). В макете он — тип со слотами, которые подтверждены реализацией: например, составной компонент может объявить места для панели инструментов, содержимого и пагинации.
Составные компоненты можно связать без кода проекта через общего родителя
layout.scope: его маршруты ведут из выхода одного компонента во вход
другого. Выбор строк в одной таблице становится контекстом другой; та входит
в загрузку и просит данные у приложения намерением. Устройство маршрутов,
типизированных портов и ответа приложения описано в Связь компонентов без кода проекта и Связь с приложением: порты хоста и намерения.
Для макета важно одно: маршрут называет только конечные точки и опубликованные порты, а проверка документа отклоняет маршрут к несуществующему порту или с несовместимым типом значения (Типы значений маршрутов). Составной компонент, поставленный в именованную область страницы рядом с другими, называется фрагментом интерфейса (Фрагменты интерфейса).
Слот составного компонента становится частью контракта только тогда, когда его
подтверждают реализация и тест. Слот, которого нет в манифесте, — ошибка
slot_unknown, а не повод догадываться (Правила слота). Повторяемый сценарий
вроде таблицы с фильтрами или мастера шагов оформляют составным компонентом;
уникальную страницу, части которой не образуют повторяемого компонента,
собирают из встроенных типов и блоков.