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

206
Visualizações
¿Es esta una característica de construcción de función o Vue 3 o Javascript en general, y cómo le paso "estas" variables?

Soy nuevo en Vue 3 y aunque uso Javascript regularmente, no soy un experto en eso. En mi proyecto Vue 3, encontré (no en SO) una solución a un desafío particular para implementar el método de solicitud de pago de Stripe. Obtuve el código de ejemplo para que funcionara, pero solo funciona correctamente cuando está envuelto dentro de esta (para mí) extraña construcción de función de vacío. Sin embargo, cuando estoy envuelto en esta construcción, ya no puedo acceder a las variables disponibles a través del objeto 'this', por lo que fuera de la función puedo acceder a 'this.myVar' dentro, no puedo.

Encontré una solución a esto, pero se siente torpe y estoy seguro de que hay una mejor manera. La forma torpe es asignar cualquier variable 'esto' a las variables globales de javascript (dentro de la etiqueta del script) justo antes de que se ejecute esta construcción; funciona, pero no se siente de la mejor manera por mucho tiempo. Aquí está el código en forma de ejemplo...

 <script> //section of Vue var myVar = ""; export default { name: 'myVueScreen', data() { return { myVar: "foo", }, } methods: { myMethod() { console.log(this.myVar); //prints 'foo' myVar = this.myVar; console.log(myVar); //prints 'foo' // strange function construct... what is this?? (function () { console.log(myVar); //prints 'foo' console.log(this.myVar); fails with this.myVar undefined })(); // I really don't understand the role of the 'extra' () } } }

¿Alguien puede decirme qué está pasando realmente con esta (función () {... construcción), por qué 'this.myVar' está fuera del alcance de alguna manera y, por lo tanto, falla como indefinido, y si hay una manera de pasarle 'this.myVar' sin usar variables JS globales como lo estoy actualmente ... ¡gracias!

Por cierto, descubrí que puede pasar valores variables a esta función de la siguiente manera, PERO este enfoque aún no puede ver 'this.myVar'

Así que esto funciona...

 (function (bar = "foo") { console.log(bar); //prints 'foo' ...

..y esto no, falla en el primer punto en que intenta leer this.myVar:

 (function (bar = this.myVar) { //fails here when reading 'this.myVar' console.log(bar); // never reaches this ...
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