Создайте глобальный 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