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

218
Visualizações
Vue cómo acceder a los accesorios del componente principal: el importador no es un contenedor

Objetivo general: desde un componente secundario de Vue, obtenga acceso al componente en el que se importa y se usa , que no siempre es lo mismo que $parent . Esto debe hacerse solo haciendo cambios dentro del componente secundario (si es posible).

Tenemos el componente PinButton Vue destinado a agregar una funcionalidad de "fijación" a otros componentes. Este componente se usa dentro de muchos otros componentes y queremos poder acceder a los accesorios principales para que puedan guardarse y renderizarse en una página diferente de "contenido anclado" pasando esos accesorios nuevamente al componente principal.

Nota: sé que esto sería posible al pasar manualmente los accesorios principales al componente ( <pin-button :parent-props="$props" /> ), pero estamos tratando de evitar tener que hacer esto cada vez que el se utiliza el componente.

Una reproducción mínima de esto con un solo componente principal y secundario mostrará que puede acceder a los accesorios principales usando $parent.$props . Sin embargo, cuando el componente secundario está anidado como contenido de ranura de algún otro componente dentro del principal, el componente secundario obtendrá los accesorios del componente contenedor, no el componente en el que se importa y se usa realmente.

Reproducción de sandbox: quiero obtener los accesorios para ParentComponent desde ChildComponent . El valor esperado se muestra al pasar los accesorios (lo que estoy tratando de evitar) y el valor real son los accesorios del componente SlotWrapper , que no importa ChildComponent , por lo que no lo consideraría el verdadero padre, pero es el elemento principal directo en la <template>

Actualización: parece que la solución sugerida para el acceso "arbitrariamente profundo" es proporcionar/inyectar , pero esto aún parecería requerir cambiar todos los componentes que usan el <pin-button />

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Para responder a su pregunta directamente, puede acceder a ParentComponent desde ChildComponent a través del "contexto" en el que se representa el componente:

 // ChildComponent.vue computed: { expectedProps() { return this.$vnode.context.$props } }

Pero esto podría ser un tipo de problema "XY" ; Estoy seguro de que hay una mejor solución de diseño para lo que está tratando de lograr.

over 4 years ago · Santiago Trujillo 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