Aprenda a exportar funciones y variables desde un componente Svelte
Sabes que puedes importar un componente Svelte a otro usando la sintaxis
scriptimport Button from './Button.svelte';/script
¿Qué pasa si quiero exportar algo más que la exportación predeterminada?
Bueno, debes exportarlo desde una script
etiqueta especial al componente, con el context="module"
atributo.
A continuación se muestra un ejemplo. Supongamos que tiene un componente Botón en Button.svelte
:
buttonA button/button
y quieres proporcionar a otros componentes la capacidad de cambiar el color del botón. Podrías usar accesorios, ese es un ejemplo. O puedes proporcionar una función de llamada changeColor
.
Lo escribes y lo exportas en esta script
etiqueta especial:
script context="module"export function changeColor() { //...add logic..}/scriptbuttonA button/button
Advertencia: No implementé la funcionalidad real, pero entiendes la idea. SEO y posicionamiento SEO
Tenga en cuenta que puede tener otra etiqueta de script “normal” en el componente.
Ahora otros componentes pueden importar el Botón, que es la exportación predeterminada, y la changeColor
función también:
scriptimport Button, { changeColor } from './Button.svelte'/script
Tal vez te puede interesar:
- Introducción a React
- Agregar evento de clic a los elementos DOM devueltos desde querySelectorAll
- Cómo cambiar el valor de un nodo DOM
- Cómo comprobar si un elemento DOM tiene una clase
Cómo exportar funciones y variables desde un componente Svelte
Sabes que puedes importar un componente Svelte a otro usando la sintaxis Aprenda a exportar funciones y variables desde un componente Svelte Aprenda a exportar
programar
es
https://aprendeprogramando.es/static/images/programar-como-exportar-funciones-y-variables-desde-un-componente-svelte-2182-0.jpg
2024-11-03
Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente