Именованные слоты

В простых случаях проекция позволяет отображать переданное содержимое родительского компонента в дочерний компонент. В более сложных случаях слотов контента, который необходимо спроецировать, может быть несколько. Наличие нескольких слотов контента достигается путем присвоения им имен.

Пример

В этом примере мы создали компонент <Collapsable>, который переключается между открытым и закрытым состояниями. В настоящее время, когда <Collapsable> закрыт, он показывает содержимое, которое было реализовано внутри <Collapsable>. Добавьте ещё <Slot>, чтобы проецировать содержимое q:slot="closed" из родителя.

Непроецируемые слоты

Мы добавили консольные сообщения, чтобы показать, когда отдельные компоненты повторно рендерятся. Обратите внимание, что компонент <App> никогда не рендерится на клиенте. Также обратите внимание, что <Collapsable> проецирует только одно содержимое за один раз. Это означает, что при рендере <App> на сервере он должен создавать как содержимое по умолчанию, так и закрытое содержимое, которое Qwik должен сериализовать. Преимуществом является то, что когда <Collapsable> переключается между открытым и закрытым состояниями, ему не нужно перерисовывать компонент <App>, чтобы восстановить содержимое, которое было спроецировано на него.

Edit Tutorial