Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

137
Visualizações
Acceda a la lista de clases de elementos dom con la API de composición de Vue 3

Estoy tratando de ver si existe una clase en un elemento dom dentro de mi componente, pero no puedo encontrar la manera de hacerlo dentro del gancho onMounted:

Esta es una versión simplificada de mi plantilla:

 <template> <a ref="tabLink" href="#" role="tab" :class="{ chatUpdated: this.chatSessionId === tab.chatSessionId }" > {{ tab.title }} </a> </template>

Esta es mi función de configuración:

 setup() { const tabLink = ref(null); onMounted(() => { console.log(tabLink.value["0"].classList[0]); }); }

Como puede ver, intento consolar. registrar las clases de mi etiqueta <a> en mi plantilla, pero siempre obtengo un valor indefinido. Pensé que el DOM del componente ya estaba allí cuando se llama al gancho onMounted, así que no entiendo por qué obtengo un valor indefinido.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

La forma en que buscas la clase está mal.

Necesitas:

 const tabLink = ref(); // remove the null from here console.log(tabLink.value.className); // gets all the classes as string console.log(tabLink.value.className.split(" ")); // returns an array of classes
about 4 years ago · Juan Pablo Isaza Relatório

0

De los documentos de Vue :

Cuando muta el estado reactivo en Vue, las actualizaciones DOM resultantes no se aplican sincrónicamente. En cambio, Vue los almacena en búfer hasta el "siguiente tic" para garantizar que cada componente se actualice solo una vez, sin importar cuántos cambios de estado haya realizado.

En su caso, hay un enlace de clase en <a> que cambia según chatSessionId . El efecto de ese enlace se ve en el siguiente tick.

Solución

Espere una llamada a nextTick() para observar el efecto:

 👇 onMounted(async () => { 👇 await nextTick() // class list effect is now available console.log(tabLink.value[0].classList[0]) })

manifestación

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda