Создайте глобальный svelte-компонент, который работает как svelte:head

В моем текущем проекте я работаю с саморазвитой модульной системой, где отдельные модули также должны иметь возможность расширять, например, панель навигации, просто написав некоторый HTML внутри <navbar:extend> тег.

Было бы здорово, если бы был способ сделать это с таким небольшим количеством написания, как <svelte:head> тег.

1 ответ

Как насчет создания магазина, в который вы будете писать (обновлять) свои HTML-расширения из ваших Компонентов и одновременно подписываться на это хранилище в вашем NavComponent, а затем в NavComponets добавлять новый HTML- код, используя {@html variable}

подобно тому, как вы можете добавлять HTML-код из различных компонентов на вашу панель навигации, это должно обеспечить желаемую функциональность.

Вот краткий пример реализации

Child1.svelte а также Child2.svelte два случайных компонента, которые собираются обновить ваш navbar.

Store.svelte это файл, в котором вы будете создавать свой глобальный магазин для обмена HTML.

Nav.svelte это панель навигации, которую вы хотите заполнить HTML из других компонентов

попробуйте написать HTML-код в полях ввода Child1 и Child2, затем отправьте его, он будет отображен в NavComponent

Другие вопросы по тегам