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

139
Visualizações
La plantilla del componente Vue JS ERROR debe contener exactamente un elemento raíz

Mientras trabaja en un componente de VueJS, se encuentra con el siguiente error en la consola de su navegador (o en la salida de JS linter):

La plantilla de componente debe contener exactamente un elemento raíz. Si usa v-if en varios elementos, use v-else-if para encadenarlos.

Como se explicó, las plantillas de componentes de VueJS pueden contener uno y solo un nodo raíz. Esto es correcto:

 <template> <div class="hello"> <h1>{{ msg }}</h1> </div> </template>

Esto no es:

 <template> <div class="hola"> <h1>{{ msg }}</h1> </div> <div class="hello"> <h1>{{ msg }}</h1> </div> </template>

Arreglar Envuelva sus etiquetas html en un elemento principal:

 <template> <div> <div class="hola"> <h1>{{ msg }}</h1> </div> <div class="hello"> <h1>{{ msg }}</h1> </div> </div> </template>

Yendo más allá En algunos casos, no puede darse el lujo de agregar un elemento principal adicional sin romper la estructura HTML. Por ejemplo, si la plantilla de su componente secundario reemplaza varios <tr> en una tabla HTML principal:

 <template> <tr class="hola"> ... </tr> <tr class="hello"> ... </tr> </template>

En este caso específico, necesita tener dos soluciones:

utilizar componentes funcionales; use Fragmentos (mi favorito) Los fragmentos le permiten agrupar varios elementos secundarios debajo de un elemento principal sin agregar nodos adicionales al DOM en el renderizado. Hay un paquete vue-fragment que puede instalar:

 npm install vue-fragments // yarn add vue-fragments

Mientras carga VueJS:

 import { Plugin } from "vue-fragments"; Vue.use(Plugin);

Luego, en su plantilla de componente:

 <template> <v-fragment> <tr class="hola"> ... </tr> <tr class="hello"> ... </tr> <v-fragment> </template>
about 4 years ago · Juan Pablo Isaza
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