Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

175
Vistas
Haga que los colores sean dinámicos en tiempo de ejecución en Vuejs y Bootstrap

Tengo esta situación: algunos colores como primario, secundario debo anular para algunos usuarios.

Tengo un archivo _variables.scss :

 $primary: #4a90e2; $light: #f2f7fd; $secondary: #f7981c; $success: #27ae60; $danger: #eb6057;

Ahora en mi App.vue quiero anular estos colores así:

 ..... methods: { changeStyle() { const bodyStyles = document.body.style; bodyStyles.setProperty('--primary-color', '#ef4d4d'); } } ....

pero no funciona. ¿Qué puedo probar a continuación?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Estás mezclando variables SCSS con variables CSS3 aquí:

  • Las variables definidas en sus archivos scss son variables SCSS, es decir, $primary: #4a90e2; .
  • Las variables definidas en su App.vue es decir bodyStyles.setProperty('--primary-color', '#ef4d4d'); son variables CSS.

Estas son completamente 2 variables diferentes.

Para cambiar dinámicamente sus colores a través de JavaScript en Vue, deberá usar variables CSS en su código. Por ejemplo:

 color: var(--primary-color); /* Instead of using $primary */ :root { --primary-color: #4a90e2 }

El problema aquí es que está usando bootstrap y necesitaría refactorizar su base de código para usar variables CSS en todo su código SCSS, incluida la sobrescritura de las variables bootstrap. Esto no es una tarea simple como puedo decir de mi experiencia. Mi enfoque fue:

  1. Sobrescriba las variables de color de arranque en variables SCSS, por ejemplo, $primary: var(--primary-color);
  2. Sobrescriba las funciones de color de arranque definidas en functions.scss incluidas color-contrast , tint-color , shade-color .
  3. Sobrescriba y refactorice los buttons.scss , alerts.scss y tables.scss de boostrap.

Mi caso de uso fue diferente y el tuyo podría ser completamente diferente. Un enfoque más simple sería no usar bootstrap (si no usa mucho bootstrap), pero depende de usted cómo quiere manejar esto.

Otro enfoque podría ser no cambiar las variables CSS y compilar su SCSS a través de Node.JS en el servidor para generar un archivo css.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda