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

362
Visualizações
¿Qué hace {on, attrs} en vue/vuetify?

Soy consciente de que esta pregunta ya se ha hecho, pero todavía me cuesta entender qué significa.

 <v-dialog v-model="dialog" width="500" > <template v-slot:activator="{ on, attrs }"> <v-btn color="red lighten-2" dark v-bind="attrs" v-on="on" > Click Me </v-btn> </template>

(que se toma de la documentación oficial de vuetify https://vuetifyjs.com/en/components/dialogs/#usage , pero sospecho que solo hay una cosa de JS que no entiendo).

¿Qué significa {on, attrs} y cómo se propagan hasta v-btn donde se usan en v-on y v-bind ?

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

0

Hay algunos conceptos aquí que necesitan ser explicados.

Las "ranuras con alcance" (o simplemente "ranuras" desde Vue 3) pueden pasar datos al componente principal. Piense en la ranura como una especie de función con argumentos. En este caso, el espacio activator de <v-dialog> pasa un objeto que contiene propiedades y attrs on usar dentro de la plantilla de contenido del espacio. Debe consultar los documentos de <v-dialog> para saber cómo se deben usar estos datos; en este caso, <v-dialog> necesita saber cuándo se hace clic en el activador para presentar el diálogo, por lo que expone on y attrs que necesita vincular a cualquier botón personalizado que designe como activador de diálogo.

En muchas bibliotecas de componentes, es común que las ranuras se expongan (escuchas on eventos) y attrs (atributos/accesorios) que el componente requiere que establezca en un componente de la plantilla; para esto usas v-on y v-bind respectivamente. Consulte los documentos para ver cómo se pueden usar estas directivas de esta manera para vincular múltiples atributos a la vez:

 <!-- binding an object of attributes --> <div v-bind="{ id: someProp, 'other-attr': otherProp }"></div>

Esta sintaxis específica ( destrucción de objetos ):

 <template v-slot:activator="{ on, attrs }"> <v-btn v-bind="attrs" v-on="on">

es lo mismo que esto:

 <template v-slot:activator="scope"> <v-btn v-bind="scope.attrs" v-on="scope.on">

Las propiedades on y attrs simplemente se extraen en variables separadas.

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