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

506
Visualizações
Vue 3 / Typescript: "No se puede encontrar el nombre" en la variable de plantilla

En Vue 3 / Typescript, recibo el siguiente error:

"No se puede encontrar el nombre", al hacer referencia a una variable de datos en el área ....

¿Como puedo resolver esto?

Por favor, vea la captura de pantalla adjunta.

ingrese la descripción de la imagen aquí

Muchas gracias de antemano.

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

0

Te falta setup dentro de <script lang="ts"> por lo que debería ser:

<script setup lang="ts">

De los documentos:

Al usar <script setup> , cualquier enlace de nivel superior (incluidas variables, declaraciones de funciones e importaciones) declarado dentro se puede usar directamente en la plantilla (...)

https://v3.vuejs.org/api/sfc-script-setup.html#los enlaces de nivel superior están expuestos a la plantilla

over 4 years ago · Santiago Trujillo Relatório

0

No sé si todavía tienes este error, pero también tuve esto. Lo he arreglado arreglando un error de TS silencioso. Cuando solucioné este error, todo volvió a funcionar.

EDITAR: Encontré el error que tenía. Había puesto una enumeración en un archivo * .d.ts y estaba usando esta enumeración en el archivo que me dio el mismo error que usted. El problema es que una enumeración no puede estar en un archivo *.d.ts porque no se compila en JS después y pierde el valor de la enumeración. Al corregir este error, ya no se mostraban los errores. Lo que quiero decir con esto no es que haya una solución simple para su problema, sino que tal vez, como yo, ¡tiene un error silencioso que se esconde y causa estos errores!

over 4 years ago · Santiago Trujillo Relatório

0

Tuve un problema similar cuando agregué lang="ts" al archivo vue ya que soy nuevo en Vue 3 y Typescript. Lo resolví asegurándome de lo siguiente:

 export default

para

 export default defineComponent({

en su archivo .vue.

Asegúrese de agregar la importación.

 import { defineComponent }

Sus datos también deben residir en la configuración.

 setup () { return { loader: false, error: false, firstTime: false
over 4 years ago · Santiago Trujillo Relatório

0

La API de composición ayuda mucho con este problema. No parece haber un camino claro para solucionar el problema en la API de Opciones.

Una forma de solucionar el problema en la API de opciones:

Cree un archivo MyComponent.d.ts que corresponda al componente con el que está trabajando y agregue lo siguiente en ese archivo:

 declare module '@vue/runtime-core' { interface ComponentCustomProperties { myTroublesomeVariable: boolean // change here } }
over 4 years ago · Santiago Trujillo Relatório

0

Tuve el mismo problema.

No se pudo encontrar una solución después de inspeccionar VSCode/TS y Volar.

Creó una pequeña reproducción (quería publicarla en Discord):

 <template> <input v-model="email" /> </template> <script setup lang="ts"> import { ref } from 'vue' const email = ref('') </script>

Después de guardar este archivo como Test.vue , el error en otros archivos desapareció. Lo siento, pero no sé por qué...

over 4 years ago · Santiago Trujillo Relatório

0

Use defineComponent en lugar de export default class ParentSupervise extends Vue . Escribe así:

 <template> <div class="hello"> <h1>{{ book.title }}</h1> </div> </template> <script lang="ts"> import { reactive, ref, defineComponent } from "vue"; interface Book { title: string; } const HelloWorld = defineComponent({ data() { return { boardFields: "燕儿", }; }, setup() { let name = ref("燕"); const book = reactive({ title: "Vue 3 Guide" }) as Book; debugger; console.log("name :>> ", name); console.log("book :>> ", book); // 暴露给 template return { book, name, }; }, }); export default HelloWorld; </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style scoped lang="scss"></style>
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