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

146
Vistas
Cómo apuntar al dom del elemento de otro componente por vue

Haciendo clic en el icono: (Sidebar.vue)

 <i class='bx bx-menu' v-on:click="toggleMenu()" id="btn"></i>

Me gustaría alternar las clases de los elementos que están en otros componentes:

 methods: { toggleMenu() { document.querySelector(".header").classList.toggle("changeWidth"); document.querySelector(".footer").classList.toggle("changeWidth"); document.querySelector("#app-content").classList.toggle("addOpacity"); document.querySelector(".main-content").classList.toggle("main-content_move-left"); } }

¿Puedo hacerlo de otra manera usando instrumentos Vue?

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

0

La idea principal es usar un marco como Vue para administrar el estado de su aplicación, creo que está siguiendo un camino antiguo tratando de apuntar a los elementos DOM y la idea es verificar los cambios reactivos que tiene en su aplicación.

Te recomiendo que leas más sobre Vue y cómo funciona, pero una idea básica es:

Comunicación entre padres e hijos:

En este tipo de comunicación, un padre pasa los datos al hijo agregando un argumento en la declaración del componente. Esos se llaman accesorios.

 <template> <div> <Car color="green" /> </div> </template>

Los accesorios son unidireccionales: de padres a hijos. Cada vez que el padre cambia la propiedad, el nuevo valor se envía al hijo y se vuelve a representar.

Lo contrario no es cierto, y nunca debe mutar un accesorio dentro del componente secundario.

Comunicación niño a padre

En este tipo de comunicación, los Eventos aseguran la comunicación de niño a padre.

 <script> export default { name: 'Car', methods: { handleClick: function() { this.$emit('clickedSomething') } } } </script>

El padre puede interceptar esto usando la directiva v-on al incluir el componente en su plantilla:

 <template> <div> <Car v-on:clickedSomething="handleClickInParent" /> <!-- or --> <Car @clickedSomething="handleClickInParent" /> </div> </template> <script> export default { name: 'App', methods: { handleClickInParent: function() { //... } } } </script>

Entonces, siguiendo ese concepto, podrá representar sus componentes en función de ciertos valores, por ejemplo, utilizando la directiva v-if

 <h1 v-if="showHeader">Show your header</h1> <h1 v-else>Show something else</h1>

Siguiendo esta idea, podrá alternar los elementos que desee.

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