v2.0.8
ScopeJS es ese amigo desarrollador que siempre quisiste tener: confiable, ligero y que nunca te complica la vida. Perfecto para cuando quieres crear algo genial sin dramas.
No necesitas ser un ninja del desarrollo. Con ScopeJS, en 2 minutos ya estás creando maravillas 🎯
Para los que prefieren lo sencillo: copia, pega y a volar 🚀
___PROTECTED_BLOCK_7___
Para los que les gusta presumir con ES6 modules y bundlers 😎
___PROTECTED_BLOCK_8___
Directo desde la nube, más rápido que tu café matutino:
Para los proyectos serios que merecen lo mejor:
Aquí tienes un ejemplo completo de cómo estructurar tu página HTML:
___PROTECTED_BLOCK_9___
Crea piezas de código que funcionan como un reloj suizo: precisas, elegantes y reutilizables. Porque la vida es muy corta para escribir código repetitivo 🕰️
Los componentes en ScopeJS son como ladrillos LEGO inteligentes que encapsulan todo lo que necesitas:
Botones, tarjetas, formularios... Todo lo que necesitas para impresionar.
Gráficos, métricas y paneles que hacen que los datos cobren vida.
Layouts complejos que se comunican entre sí como por arte de magia.
___PROTECTED_BLOCK_10___
___PROTECTED_BLOCK_11___
ScopeJS no es de esos frameworks pesados que actualizan toda la página cada vez que cambias una coma. Nosotros somos más listos: solo tocamos lo que realmente ha cambiado. Como un cirujano del DOM.
Precisión ninja: Si cambias un texto, solo se actualiza ese texto. Nada más.
Eficiencia máxima: Si cambias una clase CSS, solo se modifica esa clase. Punto.
✨ Resultado: Animaciones fluidas, formularios que no se resetean y una experiencia de usuario que enamora
Con el atributo model los datos se sincronizan solos. ¡Magia pura!
Manejo de eventos que funciona como esperas, con parámetros y todo
Estilos que se portan bien y no molestan al resto
Re-renderizado eficiente solo cuando hace falta. Ni más, ni menos
Crea ventanas emergentes que no molestan, sino que encantan. Porque un modal feo es como una cita a ciegas mal planificada 💫
___PROTECTED_BLOCK_13___
Prueba los diferentes tipos de modales: normal (con overlay), redimensionable, ventanas arrastrables y múltiples ventanas simultáneas
Entrada y salida con estilo, nada de aparecer a lo bruto
Control total sobre todo: posición, comportamiento, estilo... Tú mandas
Se adaptan a cualquier pantalla como un camaleón digital
Modales que crecen y se adaptan como tú quieras
Ventanas que se mueven por la pantalla como quieras
Abre varias ventanas simultáneamente como un escritorio
Sistema de navegación para SPAs que funciona como debe: sin dramas, sin bugs raros y con todas las funciones que necesitas. El router que siempre quisiste 🗺️
___PROTECTED_BLOCK_14___
Selecciona una ruta para ver la navegación
Parámetros en las rutas que funcionan de verdad
Control de acceso y validación sin complicaciones
Navegación fluida sin recargas molestas
Cambios de vista que enamoran
Crea aplicaciones complejas con layouts compartidos y navegación jerárquica. Las rutas hijas heredan automáticamente el path del padre.
___PROTECTED_BLOCK_15___
1. Navegar al layout padre:
2. Navegar a rutas hijas (se renderizan dentro del layout):
Haz clic en los botones para ver las rutas anidadas en acción
Las rutas hijas heredan automáticamente el path del padre
Usa <router-outlet> para renderizar componentes hijos
Mantén navegación y estilos consistentes
Cambia solo el contenido, no todo el layout
Todo lo que necesitas saber para dominar ScopeJS como un ninja del código. Aquí está la documentación que realmente vas a leer 📚
| Propiedad | Tipo | Descripción |
|---|---|---|
| controller | Class | Clase controladora del componente |
| render | Function | Función que retorna el HTML del componente |
| style | String | CSS scoped para el componente |
| tagName | String | Nombre del elemento personalizado |
| postRender | Function | Callback ejecutado después del render |
| Propiedad | Tipo | Descripción |
|---|---|---|
| controller | Class | Controlador del modal |
| render | Function | Función de renderizado |
| hideWhenClickOverlay | Boolean | Cerrar al hacer clic fuera |
| className | String | Clase CSS adicional |
| referrer | Element | Elemento de referencia para posición |
| resizable | Boolean | Permite redimensionar arrastrando (solo desktop) |
| draggable | Boolean | Permite mover el modal arrastrando desde título |
| windowMode | Boolean | Modo ventana: sin overlay, múltiples permitidos |
| title | String | Título mostrado en la barra superior (windowMode) |
| position | Object | Posición inicial {x, y} para windowMode |
| Método | Parámetros | Descripción |
|---|---|---|
| navigate | path, body | Navegar a una ruta específica |
| render | container | Renderizar el router en un contenedor |
| listen | callback | Escuchar cambios de ruta |
| unlisten | uuid | Remover listener de cambios |
| Función | Parámetros | Descripción |
|---|---|---|
| enableDebugger | boolean | Activar/desactivar modo debug |
| apply | - | Re-renderizar componente |
| close | ...args | Cerrar modal (disponible en modales) |
Tu sandbox personal para experimentar con ScopeJS. Aquí puedes romper cosas, crear maravillas y aprender sin miedo. ¡Es tu momento de brillar! ⚡
¡Vamos! Escribe algo genial y verás cómo cobra vida aquí ✨
this.apply() después de cambiar datosmodel es tu mejor amigo para formulariosonclick="miMetodo()"Desarrollador Full Stack con un poquito de locura 🤪 por crear herramientas que hagan que los usuarios digan "¡WOW!" Creé ScopeJS porque estaba cansado de frameworks pesados que convierten proyectos simples en monstruos complicados 🐉
Si este proyecto te ha robado el corazón ❤️ (y algunos cafés ☕), considera invitarme a una pizza 🍕 para seguir creando cositas geniales
Tu apoyo me ayuda a seguir desarrollando herramientas útiles y gratuitas para la comunidad